1 package org.opensrf.net.http;
3 import org.opensrf.util.*;
6 import java.util.LinkedList;
7 import java.net.HttpURLConnection;
9 public abstract class HttpRequest {
11 protected String service;
12 protected Method method;
13 protected HttpURLConnection urlConn;
14 protected HttpConnection httpConn;
15 protected HttpRequestHandler handler;
16 protected List<Object> responseList;
17 protected Exception failure;
18 protected boolean failed;
19 protected boolean complete;
21 public HttpRequest() {
28 public HttpRequest(HttpConnection conn, String service, Method method) {
31 this.service = service;
35 public void sendAsync(final HttpRequestHandler handler) {
36 this.handler = handler;
37 httpConn.manageAsyncRequest(this);
40 protected void pushResponse(Object response) {
41 if (responseList == null)
42 responseList = new LinkedList<Object>();
43 responseList.add(response);
46 protected List responses() {
50 protected Object nextResponse() {
51 if (complete || failed) return null;
52 if (responseList.size() > 0)
53 return responseList.remove(0);
57 public Exception getFailure() {
61 public abstract HttpRequest send();
63 public abstract Object recv();