Package org.tamacat.httpd.config

Examples of org.tamacat.httpd.config.ReverseUrl


  public void process(HttpResponse response, HttpContext context)
      throws HttpException, IOException {
        if (context == null) {
            throw new IllegalArgumentException("HTTP context may not be null");
        }
        ReverseUrl reverseUrl = (ReverseUrl) context.getAttribute("reverseUrl");
        if (reverseUrl != null) {
          Header header = response.getFirstHeader(HTTP.CONTENT_TYPE);
          if (header != null && HeaderUtils.inContentType(contentTypes, header)) {
            String before = reverseUrl.getReverse().getPath();
            String after = reverseUrl.getServiceUrl().getPath();
            LinkConvertingEntity entity = new LinkConvertingEntity(
                response.getEntity(), before, after);
            response.setEntity(entity);
          }
        }
View Full Code Here


        HttpContext context) throws HttpException, IOException {

        // Access Backend server //
        HttpResponse targetResponse = forwardRequest(request, response, context);

        ReverseUrl reverseUrl = serviceUrl.getReverseUrl();
          //(ReverseUrl) context.getAttribute("reverseUrl");
        ReverseUtils.copyHttpResponse(targetResponse, response);
        ReverseUtils.rewriteContentLocationHeader(request, response, reverseUrl);
       
        // Location Header convert. //
View Full Code Here

    } else {
          throw new ServiceUnavailableException("reverseUrl is infinite loop.");
    }
        Socket outsocket = null;
    try {
          ReverseUrl reverseUrl = serviceUrl.getReverseUrl();
          if (reverseUrl == null) {
            throw new ServiceUnavailableException("reverseUrl is null.");
          }
          context.setAttribute("reverseUrl", reverseUrl);
          ReverseUtils.setXForwardedFor(request, context);
          outsocket = socketFactory.createSocket();
         
          InetAddress remoteAddress = InetAddress.getByName(reverseUrl.getTargetAddress().getHostName());
          InetSocketAddress remote = new InetSocketAddress(remoteAddress, reverseUrl.getTargetAddress().getPort());
          //for 4.1
          socketFactory.connectSocket(outsocket, remote, null, builder.buildParams());
         
          //for 4.0 @deprecated
          //socketFactory.connectSocket(outsocket,
          //  reverseUrl.getTargetAddress().getHostName(),
          //  reverseUrl.getTargetAddress().getPort(),
          //  null, -1, builder.buildParams());
         
      DefaultHttpClientConnection conn = new DefaultHttpClientConnection();
          conn.bind(outsocket, builder.buildParams());
         
          if (LOG.isTraceEnabled()) {
            LOG.trace("Outgoing connection to " + outsocket.getInetAddress());
            LOG.trace("request: " + request);
        }

          ReverseHttpRequest targetRequest = null;
          if (request instanceof HttpEntityEnclosingRequest) {
            targetRequest = new ReverseHttpEntityEnclosingRequest(request, context, reverseUrl);
          } else {
            URL url = reverseUrl.getReverseUrl(request.getRequestLine().getUri());
            if (url == null) {
              throw new NotFoundException("url is null.");
            }
            BasicRequestLine line = new BasicRequestLine(
                request.getRequestLine().getMethod(),
View Full Code Here

    this.reverseUrls.add(reverseUrl);
  }
 
  @Override
  public ReverseUrl getReverseUrl() {
    ReverseUrl reverseUrl = null;
    synchronized (reverseUrls) {
      int size = reverseUrls.size();
      if (size == 0) {
        throw new ServiceUnavailableException();
      } else if (size == 1) {
View Full Code Here

    ServerConfig config = new ServerConfig();
    ServiceUrl serviceUrl = new ServiceUrl(config);
    serviceUrl.setPath("/examples/");
    serviceUrl.setType(ServiceType.REVERSE);
    serviceUrl.setHost(new URL("http://localhost/examples/servlets"));
    ReverseUrl reverseUrl = new DefaultReverseUrl(serviceUrl);
    reverseUrl.setReverse(new URL("http://localhost:8080/examples/"));
   
    HttpResponse response = new BasicHttpResponse(
        new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 302, "Moved Temporarily"))
    response.setHeader("Location", "http://localhost:8080/examples/servlets/");
    ReverseUtils.rewriteLocationHeader(null, response, reverseUrl);
View Full Code Here

    ServerConfig config = new ServerConfig();
    ServiceUrl serviceUrl = new ServiceUrl(config);
    serviceUrl.setPath("/examples/");
    serviceUrl.setType(ServiceType.REVERSE);
    serviceUrl.setHost(new URL("http://localhost/examples/servlets"));
    ReverseUrl reverseUrl = new DefaultReverseUrl(serviceUrl);
    reverseUrl.setReverse(new URL("http://localhost:8080/examples/"));
   
    HttpResponse response = new BasicHttpResponse(
        new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 302, "Moved Temporarily"))
    response.setHeader("Content-Location", "http://localhost/examples/servlets/");
    ReverseUtils.rewriteContentLocationHeader(null, response, reverseUrl);
View Full Code Here

    ServerConfig config = new ServerConfig();
    ServiceUrl serviceUrl = new ServiceUrl(config);
    serviceUrl.setPath("/examples/");
    serviceUrl.setType(ServiceType.REVERSE);
    serviceUrl.setHost(new URL("http://www.example.com/examples/servlets"));
    ReverseUrl reverseUrl = new DefaultReverseUrl(serviceUrl);
    reverseUrl.setReverse(new URL("http://192.168.1.1:8080/examples/"));
   
    HttpRequest request = new BasicHttpRequest("GET", "/examples/servlets");
    request.setHeader("Host", "www.example.com");
   
    HttpResponse response = new BasicHttpResponse(
View Full Code Here

TOP

Related Classes of org.tamacat.httpd.config.ReverseUrl

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.