Example usage for org.apache.commons.httpclient Header toExternalForm

List of usage examples for org.apache.commons.httpclient Header toExternalForm

Introduction

In this page you can find the example usage for org.apache.commons.httpclient Header toExternalForm.

Prototype

public String toExternalForm() 

Source Link

Usage

From source file:com.fatwire.dta.sscrawler.reporting.reporters.PageCollectingReporter.java

public void addToReport(final ResultPage page) {
    if (page.getResponseCode() != 200) {
        return; // bail out
    }/*  ww w.ja v a2 s  .  co m*/
    final long id = idGen.incrementAndGet();
    FileWriter writer = null;

    try {
        final String p = (page.getPageName() != null ? page.getPageName() : "") + "-" + id + ".txt";
        final File pFile = new File(dir, p);
        pwriter.println(page.getUri() + "\t" + path + File.separator + p.replace('/', File.separatorChar));
        pwriter.flush();
        pFile.getAbsoluteFile().getParentFile().mkdirs();
        writer = new FileWriter(pFile);
        writer.write(page.getUri().toString());
        writer.write(PageCollectingReporter.CRLF);
        writer.write(PageCollectingReporter.CRLF);
        final Header[] headers = page.getResponseHeaders();
        for (final Header header : headers) {
            writer.write(header.toExternalForm());
        }
        writer.write(PageCollectingReporter.CRLF);
        writer.write(page.getBody());
    } catch (final IOException e) {
        log.error(e, e);
    } finally {
        if (writer != null) {
            try {
                writer.close();
            } catch (final IOException ignored) {
                // ignored
            }
        }
    }

}

From source file:com.mosso.client.cloudfiles.FilesResponse.java

/**
 * @param method The HttpMethod that generated this response
 *///from   www .  j  a v a  2 s.c  om
public FilesResponse(HttpMethod method) {
    httpmethod = method;

    if (logger.isDebugEnabled()) {
        logger.debug("Request Method: " + method.getName());
        logger.debug("Request Path: " + method.getPath());
        logger.debug("Status Line: " + getStatusLine());
        Header[] reqHeaders = method.getRequestHeaders();
        for (Header rH : reqHeaders)
            logger.debug(rH.toExternalForm());

        Header[] responseHeaders = getResponseHeaders();
        for (int i = 0; i < responseHeaders.length; i++)
            logger.debug(responseHeaders[i]);
    }
}

From source file:com.eviware.soapui.impl.wsdl.panels.teststeps.amf.AMFResponse.java

protected void initHeaders(ExtendedPostMethod postMethod) {
    requestHeaders = new StringToStringsMap();
    responseHeaders = new StringToStringsMap();

    if (postMethod == null)
        return;//from w w  w. ja  v  a2  s.c  o  m

    try {
        ByteArrayOutputStream rawResponse = new ByteArrayOutputStream();
        ByteArrayOutputStream rawRequest = new ByteArrayOutputStream();

        if (!postMethod.isFailed()) {
            rawResponse.write(String.valueOf(postMethod.getStatusLine()).getBytes());
            rawResponse.write("\r\n".getBytes());
        }

        rawRequest.write((postMethod.getMethod() + " " + postMethod.getURI().toString() + " "
                + postMethod.getParams().getVersion().toString() + "\r\n").getBytes());

        Header[] headers = postMethod.getRequestHeaders();
        for (Header header : headers) {
            requestHeaders.add(header.getName(), header.getValue());
            rawRequest.write(header.toExternalForm().getBytes());
        }

        if (!postMethod.isFailed()) {
            headers = postMethod.getResponseHeaders();
            for (Header header : headers) {
                responseHeaders.add(header.getName(), header.getValue());
                rawResponse.write(header.toExternalForm().getBytes());
            }

            responseHeaders.add("#status#", String.valueOf(postMethod.getStatusLine()));
        }

        if (postMethod.getRequestEntity() != null) {
            rawRequest.write("\r\n".getBytes());
            if (postMethod.getRequestEntity().isRepeatable()) {
                postMethod.getRequestEntity().writeRequest(rawRequest);
            } else
                rawRequest.write("<request data not available>".getBytes());
        }

        if (!postMethod.isFailed()) {
            rawResponse.write("\r\n".getBytes());
            rawResponse.write(rawResponseBody);
        }

        rawResponseData = rawResponse.toByteArray();
        rawRequestData = rawRequest.toByteArray();

        initAMFHeaders(postMethod);

    } catch (Throwable e) {
        SoapUI.logError(e);
    }
}

From source file:com.eviware.soapui.impl.wsdl.submit.transports.http.BaseHttpResponse.java

protected void initHeaders(ExtendedHttpMethod httpMethod) {
    try {/* ww w  .  j  ava2 s. co m*/
        ByteArrayOutputStream rawResponse = new ByteArrayOutputStream();
        ByteArrayOutputStream rawRequest = new ByteArrayOutputStream();

        if (!httpMethod.isFailed()) {
            try {
                rawResponse.write(String.valueOf(httpMethod.getStatusLine()).getBytes());
                rawResponse.write("\r\n".getBytes());
            } catch (Throwable e) {
            }
        }

        rawRequest.write((method + " " + String.valueOf(url) + " " + version + "\r\n").getBytes());

        requestHeaders = new StringToStringsMap();
        Header[] headers = httpMethod.getRequestHeaders();
        for (Header header : headers) {
            requestHeaders.put(header.getName(), header.getValue());
            rawRequest.write(header.toExternalForm().getBytes());
        }

        responseHeaders = new StringToStringsMap();

        if (!httpMethod.isFailed()) {
            headers = httpMethod.getResponseHeaders();
            for (Header header : headers) {
                responseHeaders.put(header.getName(), header.getValue());
                rawResponse.write(header.toExternalForm().getBytes());
            }

            responseHeaders.put("#status#", String.valueOf(httpMethod.getStatusLine()));
        }

        if (httpMethod.getRequestEntity() != null) {
            rawRequest.write("\r\n".getBytes());
            if (httpMethod.getRequestEntity().isRepeatable()) {
                requestContentPos = rawRequest.size();
                MaxSizeByteArrayOutputStream tempOut = new MaxSizeByteArrayOutputStream(
                        SoapUI.getSettings().getLong(UISettings.RAW_REQUEST_MESSAGE_SIZE, 0));
                httpMethod.getRequestEntity().writeRequest(tempOut);
                tempOut.writeTo(rawRequest);
            } else
                rawRequest.write("<request data not available>".getBytes());
        }

        if (!httpMethod.isFailed()) {
            rawResponse.write("\r\n".getBytes());
            rawResponse.write(httpMethod.getResponseBody());
        }

        rawResponseData = rawResponse.toByteArray();
        rawRequestData = rawRequest.toByteArray();
    } catch (Throwable e) {
        e.printStackTrace();
    }
}

From source file:com.tasktop.c2c.server.ssh.server.commands.AbstractInteractiveProxyCommand.java

private void emitHeaders(OutputStream proxyOut, HeaderGroup headers) throws IOException {
    for (Header header : headers.getAllHeaders()) {
        String headerHttpFormat = header.toExternalForm();
        proxyOut.write(headerHttpFormat.getBytes(HTTP_ENTITY_CHARSET));
    }/*  www .  j a  v a  2s.c o m*/
    // close headers
    proxyOut.write("\r\n".getBytes(HTTP_ENTITY_CHARSET));
}

From source file:org.collectionspace.services.IntegrationTests.xmlreplay.XmlReplayTransport.java

public static ServiceResult doGET(String urlString, String authForTest, String fromTestID) throws Exception {
    ServiceResult pr = new ServiceResult();
    pr.fromTestID = fromTestID;//from  w w  w.j a va 2s.  c  o  m
    pr.method = "GET";
    //HACK for speed testing.
    //pr.CSID = "2";
    //pr.overrideGotExpectedResult();
    //if (true) return pr;
    //END-HACK
    HttpClient client = new HttpClient();
    GetMethod getMethod = new GetMethod(urlString);
    getMethod.addRequestHeader("Accept", "multipart/mixed");
    getMethod.addRequestHeader("Accept", "application/xml");
    getMethod.setRequestHeader("Authorization", "Basic " + authForTest); //"dGVzdDp0ZXN0");
    getMethod.setRequestHeader("X-XmlReplay-fromTestID", fromTestID);
    try {
        int statusCode1 = client.executeMethod(getMethod);
        pr.responseCode = statusCode1;
        pr.result = getMethod.getResponseBodyAsString();
        pr.responseMessage = getMethod.getStatusText();
        Header[] headers = getMethod.getResponseHeaders();
        pr.responseHeaders = Arrays.copyOf(headers, headers.length);
        Header hdr = getMethod.getResponseHeader("CONTENT-TYPE");
        if (hdr != null) {
            String hdrStr = hdr.toExternalForm();
            pr.boundary = PayloadLogger.parseBoundary(hdrStr);
        }
        pr.contentLength = getMethod.getResponseContentLength();
        getMethod.releaseConnection();
    } catch (Throwable t) {
        //System.err.println("ERROR getting content from response: "+t);
        pr.error = t.toString();
    }
    return pr;
}

From source file:org.deegree.enterprise.servlet.WASSHandler.java

/**
 * Method to send the result of another service.
 *
 * @param result//from   w w  w.ja  v  a 2 s.c  o  m
 * @throws IOException
 */
private void sendOtherServiceResponse(DoServiceResponse result) throws IOException {
    Header[] headers = result.getHeaders();
    // footers will be ignored for now
    // Header[] footers = result.getFooters();
    InputStream in = result.getResponseBody();
    for (Header h : headers) {
        // maybe we have to filter some headers here TODO
        LOG.logDebug(h.toExternalForm());
        // ignore content length header, as the content length actually changes for GetCapabilities responses
        // (facade URLs and possibly encoding). Otherwise parts of the response may get cut off.
        if (!h.getName().equalsIgnoreCase("content-length")) {
            response.setHeader(h.getName(), h.getValue());
        }
    }

    BufferedInputStream bin = new BufferedInputStream(in, 16384);
    OutputStream out = response.getOutputStream();
    byte[] buf = new byte[16384];
    int numberRead = 0;
    while ((numberRead = bin.read(buf)) != -1) {
        out.write(buf, 0, numberRead);
    }
    bin.close();
    out.close();
}

From source file:org.mule.transport.http.HttpServerConnection.java

public void writeRequest(final HttpRequest request) throws IOException {
    if (request == null) {
        return;/* ww w  .  jav a  2 s .  c  o  m*/
    }
    ResponseWriter writer = new ResponseWriter(this.out, encoding);
    writer.println(request.getRequestLine().toString());
    Iterator item = request.getHeaderIterator();
    while (item.hasNext()) {
        Header header = (Header) item.next();
        writer.print(header.toExternalForm());
    }
    writer.println();
    writer.flush();

    OutputStream outstream = this.out;
    InputStream content = request.getBody();
    if (content != null) {
        Header transferenc = request.getFirstHeader(HttpConstants.HEADER_TRANSFER_ENCODING);
        if (transferenc != null) {
            request.removeHeaders(HttpConstants.HEADER_CONTENT_LENGTH);
            if (transferenc.getValue().indexOf(HttpConstants.TRANSFER_ENCODING_CHUNKED) != -1) {
                outstream = new ChunkedOutputStream(outstream);
            }
        }

        IOUtils.copy(content, outstream);

        if (outstream instanceof ChunkedOutputStream) {
            ((ChunkedOutputStream) outstream).finish();
        }
    }

    outstream.flush();
}

From source file:org.mule.transport.http.HttpServerConnection.java

/**
 * Write an HttpResponse and add the map entries as headers
 *
 * @param response http response with the content of the response
 * @param headers headers to add to the http response besides the one already contained in the HttpResponse object
 * @throws IOException//  w  ww  .  j  a  va  2  s .  co  m
 */
public void writeResponse(final HttpResponse response, Map<String, String> headers) throws IOException {
    if (response == null) {
        return;
    }

    if (!response.isKeepAlive()) {
        Header header = new Header(HttpConstants.HEADER_CONNECTION, "close");
        response.setHeader(header);
    }

    setKeepAlive(response.isKeepAlive());
    addHeadersToHttpResponse(response, headers);
    ResponseWriter writer = new ResponseWriter(this.out, encoding);
    OutputStream outstream = this.out;

    writer.println(response.getStatusLine());
    Iterator item = response.getHeaderIterator();
    while (item.hasNext()) {
        Header header = (Header) item.next();
        writer.print(header.toExternalForm());
    }
    writer.println();
    writer.flush();

    OutputHandler content = response.getBody();
    if (content != null) {
        Header transferenc = response.getFirstHeader(HttpConstants.HEADER_TRANSFER_ENCODING);
        if (transferenc != null) {
            response.removeHeaders(HttpConstants.HEADER_CONTENT_LENGTH);
            if (transferenc.getValue().indexOf(HttpConstants.TRANSFER_ENCODING_CHUNKED) != -1) {
                outstream = new ChunkedOutputStream(outstream);
            }
        }

        content.write(RequestContext.getEvent(), outstream);

        if (outstream instanceof ChunkedOutputStream) {
            ((ChunkedOutputStream) outstream).finish();
        }
    }

    outstream.flush();
}

From source file:org.mule.transport.http.transformers.HttpResponseToString.java

/**
 * Perform the transformation to always return a String object
 *//*  w w w .ja  v  a  2 s .  co m*/
@Override
protected Object doTransform(Object src, String encoding) throws TransformerException {
    try {
        HttpResponse response = (HttpResponse) src;
        ByteArrayOutputStream bos = new ByteArrayOutputStream(8192);
        OutputStream outstream = bos;
        ResponseWriter writer = new ResponseWriter(outstream, encoding);
        writer.println(response.getStatusLine());
        Iterator item = response.getHeaderIterator();
        while (item.hasNext()) {
            Header header = (Header) item.next();
            writer.print(header.toExternalForm());
        }
        writer.println();
        writer.flush();

        if (response.hasBody()) {
            OutputHandler handler = response.getBody();
            Header transferenc = response.getFirstHeader(HttpConstants.HEADER_TRANSFER_ENCODING);
            if (transferenc != null) {
                response.removeHeaders(HttpConstants.HEADER_CONTENT_LENGTH);
                if (transferenc.getValue().indexOf(HttpConstants.TRANSFER_ENCODING_CHUNKED) != -1) {
                    outstream = new ChunkedOutputStream(outstream);
                }
            }

            handler.write(RequestContext.getEvent(), outstream);

            if (outstream instanceof ChunkedOutputStream) {
                ((ChunkedOutputStream) outstream).finish();
            }
        }

        outstream.flush();
        bos.flush();
        byte[] result = bos.toByteArray();
        outstream.close();
        writer.close();
        bos.close();

        String output = null;
        try {
            output = new String(result, encoding);
        } catch (UnsupportedEncodingException uee) {
            // I believe this is never reached since a TransformerExcpetion
            // is thrown before at new ResponseWriter(outstream, encoding) if
            // encoding is not supported
            output = new String(result);
        }

        return output;
    } catch (IOException e) {
        throw new TransformerException(this, e);
    }
}