view src/main/java/de/intevation/artifacts/httpclient/http/response/StringResponseHandler.java @ 2:2fdfa20cfa63

Added an interface that is used to create instances of artifacts depending on the framework that includes this lib. The create() method of the HttpClient makes use of this interface. http-client/trunk@1325 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 17 Feb 2011 11:19:02 +0000
parents a1db30b33f43
children 0359c4f3b4a1
line wrap: on
line source
/*
 * Copyright (c) 2010 by Intevation GmbH
 *
 * This program is free software under the LGPL (>=v2.1)
 * Read the file LGPL.txt coming with the software for details
 * or visit http://www.gnu.org/licenses/ if it does not exist.
 */
package de.intevation.artifacts.httpclient.http.response;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;

import org.restlet.Response;
import org.restlet.representation.Representation;


/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class StringResponseHandler extends StreamResponseHandler {

    public StringResponseHandler() {
    }

    public Object handle(Response response) throws IOException {
        InputStream  in  = (InputStream) super.handle(response);
        OutputStream out = new ByteArrayOutputStream();

        byte[] b = new byte[4096];
        int i = -1;
        while ((i = in.read(b)) > 0) {
            out.write(b, 0, i);
        }
        out.close();

        return out.toString();
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

http://dive4elements.wald.intevation.org