Package ch.mimo.netty.handler.codec.icap

Examples of ch.mimo.netty.handler.codec.icap.IcapResponse


public class SquidEchoHandler extends SimpleChannelUpstreamHandler {

  @Override
  public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
    Object message = e.getMessage();
    IcapResponse response = null;
    if(message instanceof IcapRequest) {
      IcapRequest request = (IcapRequest)message;
      System.out.println("");
      System.out.println("---------------------------- receiving " + request.getMethod() + " ----------------------------");
      System.out.print(message.toString());
      if(request.getMethod().equals(IcapMethod.OPTIONS)) {
        response = new DefaultIcapResponse(IcapVersion.ICAP_1_0,IcapResponseStatus.OK);
        response.addHeader("Options-TTL","3600");
        response.addHeader("Service-ID","Test Icap Server");
        response.addHeader("Allow","204");
        response.addHeader("Preview","1024");
        response.addHeader("Methods","REQMOD, RESPMOD");
       
      } else if(request.isPreviewMessage()) {
        response = new DefaultIcapResponse(IcapVersion.ICAP_1_0,IcapResponseStatus.NO_CONTENT);
      } else {
        response = new DefaultIcapResponse(IcapVersion.ICAP_1_0,IcapResponseStatus.OK);
        response.addHeader(IcapHeaders.Names.ISTAG,"Echo-Server-1.0");
        if(request.getMethod().equals(IcapMethod.REQMOD)) {
          response.setHttpRequest(request.getHttpRequest());
        }
        response.setHttpResponse(request.getHttpResponse());
      }
      System.out.println("");
      System.out.println("---------------------------- sending " + response.getStatus() + " ----------------------------");
      System.out.print(response.toString());
      ctx.getChannel().write(response);
    }
  }
View Full Code Here


    } else if(msg instanceof IcapChunkTrailer) {
      System.out.println(msg.toString());
      if(!continueWasSent) {
        continueWasSent = true;
        // sending 100 continue in order to receive the rest of the message
        IcapResponse response = new DefaultIcapResponse(IcapVersion.ICAP_1_0,IcapResponseStatus.CONTINUE);
        ctx.getChannel().write(response);
      } else {
        // sending 204 No Content response
        IcapResponse response = new DefaultIcapResponse(IcapVersion.ICAP_1_0,IcapResponseStatus.NO_CONTENT);
        ctx.getChannel().write(response);
      }
    } else if(msg instanceof IcapChunk) {
      System.out.println(msg);
    }
View Full Code Here

public class IcapClientHandler extends SimpleChannelUpstreamHandler {
 
  @Override
  public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
    IcapResponse response = (IcapResponse)e.getMessage();
    if(response.getStatus().equals(IcapResponseStatus.CONTINUE)) {
      System.out.println(response.toString());
          IcapChunk chunk = new DefaultIcapChunk(ChannelBuffers.copiedBuffer("ns why and how we can avoid such a desaster next time...".getBytes()));
          IcapChunkTrailer trailer = new DefaultIcapChunkTrailer(true,false);
          ctx.getChannel().write(chunk);
          ctx.getChannel().write(trailer);
    } else if(response.getStatus().equals(IcapResponseStatus.NO_CONTENT)) {
      System.out.println(response.toString());
    }
  }
View Full Code Here

  public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
    IcapRequest request = (IcapRequest)e.getMessage();
   
    System.out.println(request.toString());
   
    IcapResponse response = new DefaultIcapResponse(IcapVersion.ICAP_1_0,IcapResponseStatus.OK);
    IcapMessageElementEnum bodyType = request.getBodyType();
    if(bodyType == null) {
      bodyType = IcapMessageElementEnum.NULLBODY;
    }
   
    if(!request.getMethod().equals(IcapMethod.RESPMOD) & request.getHttpRequest() != null) {
      request.getHttpRequest().addHeader(HttpHeaders.Names.VIA,"icap://my.icap.server");
      response.setHttpRequest(request.getHttpRequest());
    }
    if(request.getHttpResponse() != null) {
      request.getHttpResponse().addHeader(HttpHeaders.Names.VIA,"icap://my.icap.server");
      response.setHttpResponse(request.getHttpResponse());
    }
    response.addHeader(IcapHeaders.Names.ISTAG,"SimpleServer-version-1.0");
   
    ChannelBuffer buffer = null;
    switch (bodyType) {
    case NULLBODY:
      // No body in request
View Full Code Here

public class IcapClientHandler extends SimpleChannelUpstreamHandler {

  @Override
  public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
    IcapResponse response = (IcapResponse)e.getMessage();
    System.out.println(response.toString());
  }
View Full Code Here

  }
 
  private class SendOPTIONSRequestClientHandler extends AbstractHandler {
    @Override
    public boolean doMessageReceived(ChannelHandlerContext context, MessageEvent event, Channel channel) throws Exception {
      IcapResponse response = (IcapResponse)event.getMessage();
      DataMockery.assertOPTIONSResponse(response);
      return true;
    }
View Full Code Here

  }
 
  private class SendRESPMODWithGetRequestNoBodyClientHandler extends AbstractHandler {
    @Override
    public boolean doMessageReceived(ChannelHandlerContext context, MessageEvent event, Channel channel) throws Exception {
      IcapResponse response = (IcapResponse)event.getMessage();
      DataMockery.assertRESPMODWithGetRequestNoBodyResponse(response);
      return true;
    }
View Full Code Here

    boolean thirdChunk = false;
    @Override
    public boolean doMessageReceived(ChannelHandlerContext context, MessageEvent event, Channel channel) throws Exception {
      Object msg = event.getMessage();
      if(msg instanceof IcapResponse) {
        IcapResponse response = (IcapResponse)event.getMessage();
        DataMockery.assertREQMODWithTwoChunkBodyResponse(response);
        responseMessage = true;
      } else if(msg instanceof IcapChunk) {
        IcapChunk chunk = (IcapChunk)msg;
        if(!firstChunk) {
View Full Code Here

    @Override
    public boolean doMessageReceived(ChannelHandlerContext context, MessageEvent event, Channel channel) throws Exception {
      Object msg = event.getMessage();
      if(msg instanceof IcapResponse) {
        IcapResponse response = (IcapResponse)msg;
        DataMockery.assertCreateREQMODWithPreviewAnnouncement204Response(response);
      } else {
        fail("unexpected msg instance [" + msg.getClass().getCanonicalName() + "]");
      }
      return true;
View Full Code Here

    @Override
    public boolean doMessageReceived(ChannelHandlerContext context, MessageEvent event, Channel channel) throws Exception {
      Object msg = event.getMessage();
      if(msg instanceof IcapResponse) {
        IcapResponse response = (IcapResponse)msg;
        assertEquals("wrong response type",IcapResponseStatus.CONTINUE,response.getStatus());
        channel.write(DataMockery.createREQMODWithPreview100ContinueIcapChunk());
        channel.write(DataMockery.createREQMODWithPreview100ContinueLastIcapChunk());
        return true;
      }
      return false;
View Full Code Here

TOP

Related Classes of ch.mimo.netty.handler.codec.icap.IcapResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.