diff options
Diffstat (limited to 'src/com/koushikdutta/async/http/AsyncHttpRequest.java')
-rw-r--r-- | src/com/koushikdutta/async/http/AsyncHttpRequest.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/com/koushikdutta/async/http/AsyncHttpRequest.java b/src/com/koushikdutta/async/http/AsyncHttpRequest.java new file mode 100644 index 0000000..b0fb5cc --- /dev/null +++ b/src/com/koushikdutta/async/http/AsyncHttpRequest.java @@ -0,0 +1,56 @@ +package com.koushikdutta.async.http; + +import java.net.URI; + +import junit.framework.Assert; + +import com.koushikdutta.async.http.libcore.RawHeaders; +import com.koushikdutta.async.http.libcore.RequestHeaders; + +public class AsyncHttpRequest { + public String getRequestLine() { + String path = getUri().getPath(); + if (path.length() == 0) + path = "/"; + return String.format("%s %s HTTP/1.1", mMethod, path); + } + + protected final String getDefaultUserAgent() { + String agent = System.getProperty("http.agent"); + return agent != null ? agent : ("Java" + System.getProperty("java.version")); + } + + private String mMethod; + public String getMethod() { + return mMethod; + } + + public AsyncHttpRequest(URI uri, String method) { + Assert.assertNotNull(uri); + mMethod = method; + mHeaders = new RequestHeaders(uri, mRawHeaders); + mRawHeaders.setStatusLine(getRequestLine()); + mHeaders.setHost(uri.getHost()); + mHeaders.setUserAgent(getDefaultUserAgent()); + mHeaders.setAcceptEncoding("gzip"); + } + + public URI getUri() { + return mHeaders.getUri(); + } + + private RawHeaders mRawHeaders = new RawHeaders(); + private RequestHeaders mHeaders; + + public String getRequestString() { + return mRawHeaders.toHeaderString(); + } + + private boolean mFollowRedirect = true; + public boolean getFollowRedirect() { + return mFollowRedirect; + } + public void setFollowRedirect(boolean follow) { + mFollowRedirect = follow; + } +} |