/* * ResponseParser.java * * Created on 2.2.2009 * */ package netukar.tinybrowser.response; import java.io.IOException; import java.io.InputStream; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpMethod; /** * * @author Radovan Netuka */ public class ResponseParser { /** * Creates a new instance of ResponseParser. */ private ResponseParser() { } public static Response parse(HttpMethod response) { try { Response result = new Response(); result.setStatusCode(response.getStatusLine().getStatusCode()); result.setReasonPhrase(response.getStatusLine().getReasonPhrase()); for (Header header : response.getResponseHeaders()) { result.addHeaderField(header.getName(), header.getValue()); } if (response.getResponseBodyAsStream() != null) { InputStream stream = response.getResponseBodyAsStream(); StringBuffer out = new StringBuffer(); byte[] b = new byte[4096]; for (int n; (n = stream.read(b)) != -1;) { out.append(new String(b, 0, n, "utf-8")); } result.setBody(out.toString()); } return result; } catch (IOException ex) { throw new RuntimeException(); } } }