| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| package org.apache.axis2.transport.http.server; |
| |
| import org.apache.http.Header; |
| import org.apache.http.HeaderIterator; |
| import org.apache.http.HttpException; |
| import org.apache.http.HttpRequest; |
| import org.apache.http.ProtocolVersion; |
| import org.apache.http.params.HttpParams; |
| import org.apache.http.protocol.ExecutionContext; |
| import org.apache.http.protocol.HTTP; |
| import org.apache.http.protocol.HttpContext; |
| import org.apache.http.protocol.HttpProcessor; |
| |
| import java.io.IOException; |
| import java.io.InputStream; |
| |
| public class AxisHttpRequestImpl implements AxisHttpRequest { |
| |
| private final HttpRequest request; |
| private final AxisHttpConnection conn; |
| private final HttpProcessor httpproc; |
| private final HttpContext context; |
| |
| public AxisHttpRequestImpl( |
| final AxisHttpConnection conn, |
| final HttpRequest request, |
| final HttpProcessor httpproc, |
| final HttpContext context) { |
| super(); |
| if (conn == null) { |
| throw new IllegalArgumentException("HTTP connection may not be null"); |
| } |
| if (request == null) { |
| throw new IllegalArgumentException("HTTP request may not be null"); |
| } |
| if (httpproc == null) { |
| throw new IllegalArgumentException("HTTP processor may not be null"); |
| } |
| if (context == null) { |
| throw new IllegalArgumentException("HTTP context may not be null"); |
| } |
| this.request = request; |
| this.conn = conn; |
| this.httpproc = httpproc; |
| this.context = context; |
| } |
| |
| public void prepare() throws IOException, HttpException { |
| this.context.setAttribute(ExecutionContext.HTTP_CONNECTION, this.conn); |
| this.context.setAttribute(ExecutionContext.HTTP_REQUEST, this.request); |
| |
| this.httpproc.process(this.request, this.context); |
| } |
| |
| public String getMethod() { |
| return this.request.getRequestLine().getMethod(); |
| } |
| |
| public String getRequestURI() { |
| return this.request.getRequestLine().getUri(); |
| } |
| |
| public ProtocolVersion getProtocolVersion() { |
| return this.request.getRequestLine().getProtocolVersion(); |
| } |
| |
| public String getContentType() { |
| Header header = this.request.getFirstHeader(HTTP.CONTENT_TYPE); |
| if (header != null) { |
| return header.getValue(); |
| } else { |
| return null; |
| } |
| } |
| |
| public InputStream getInputStream() { |
| return this.conn.getInputStream(); |
| } |
| |
| public void addHeader(final Header header) { |
| this.request.addHeader(header); |
| } |
| |
| public void addHeader(final String name, final String value) { |
| this.request.addHeader(name, value); |
| } |
| |
| public boolean containsHeader(final String name) { |
| return this.request.containsHeader(name); |
| } |
| |
| public Header[] getAllHeaders() { |
| return this.request.getAllHeaders(); |
| } |
| |
| public Header getFirstHeader(final String name) { |
| return this.request.getFirstHeader(name); |
| } |
| |
| public Header[] getHeaders(String name) { |
| return this.request.getHeaders(name); |
| } |
| |
| public Header getLastHeader(final String name) { |
| return this.request.getLastHeader(name); |
| } |
| |
| public HeaderIterator headerIterator() { |
| return this.request.headerIterator(); |
| } |
| |
| public HeaderIterator headerIterator(final String name) { |
| return this.request.headerIterator(name); |
| } |
| |
| public void removeHeader(final Header header) { |
| this.request.removeHeader(header); |
| } |
| |
| public void removeHeaders(final String name) { |
| this.request.removeHeaders(name); |
| } |
| |
| public void setHeader(final Header header) { |
| this.request.setHeader(header); |
| } |
| |
| public void setHeader(final String name, final String value) { |
| this.request.setHeader(name, value); |
| } |
| |
| public void setHeaders(Header[] headers) { |
| this.request.setHeaders(headers); |
| } |
| |
| public HttpParams getParams() { |
| return this.request.getParams(); |
| } |
| |
| public void setParams(final HttpParams params) { |
| this.request.setParams(params); |
| } |
| |
| } |