2016-12-12 7 views
1

저는 Littleproxy와 놀아 왔으며 응답을 쉽게 수정할 수 있지만 요청 매개 변수를 수정하는 좋은 예는 없습니다.LittleProxy 요청 매개 변수 예를 수정하십시오.

그물에 나는 포스트 자료를 변경하는 단지 1 개의 예를 찾아 냈다. 그러나 그것을 작동하게 만들 수는 없습니다.

요청 매개 변수를 가져 와서 수정하는 방법을 설명하는 예제가 있습니까?

public HttpResponse proxyToServerRequest(HttpObject httpObject) { 

    if(httpObject instanceof FullHttpRequest){ 
     FullHttpRequest request = (FullHttpRequest) httpObject; 

     if(request.getMethod() == HttpMethod.POST 
       && request.getUri().contains("/post")){ 

      CompositeByteBuf contentBuf = (CompositeByteBuf) request.content();   

      String contentStr = contentBuf.toString(CharsetUtil.UTF_8); 

      System.out.println("Post content for " + request.getUri() + " : " + contentStr); 

      String newBody = contentStr.replace("e", "ei"); 

      ByteBuf bodyContent = Unpooled.copiedBuffer(newBody, CharsetUtil.UTF_8); 

      contentBuf.clear().writeBytes(bodyContent); 
      HttpHeaders.setContentLength(request, newBody.length()); 
     } 
    } 

    return null; 
} 

당신은 어떤 다른 좋은 예를 아십니까 :

나는이 있나요?

답변

0

당신은 예를 들어 다음과 같이 특정 헤더를 제거 할 수 있습니다

@Override 
public HttpResponse proxyToServerRequest(HttpObject httpObject) 
{ 
    if (httpObject instanceof HttpMessage) 
    { 
     HttpHeaders headers = ((HttpMessage)httpObject).headers(); 
     headers.names().forEach(h -> headers.remove(headerName)); 
    } 

    return super.proxyToServerRequest(httpObject); 
}