2016-12-12 2 views
1

Я играл с Littleproxy и нашел, что легко изменить ответы, но не может получить хороший пример изменения параметров запроса.Пример параметра запроса на модификацию LittleProxy

В сети я нашел только один пример, изменяя данные сообщения. Но он не может заставить его работать.

У вас есть пример, объясняющий, как мы можем получить параметры запроса и изменить их.

У меня есть это:

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); 
} 
Смежные вопросы