Created
September 18, 2009 05:34
-
-
Save afeinberg/188897 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class DelayedHttpRequest implements Delayed, HttpRequest { | |
private final HttpRequest request; | |
protected long delay; // in milliseconds | |
public DelayedHttpRequest(HttpRequest request) { | |
this.request = request; | |
} | |
public void setDelay(Long delay) { | |
this.delay = delay; | |
} | |
@Override | |
public long getDelay(TimeUnit timeUnit) { | |
switch (timeUnit) { | |
case MILLISECONDS: | |
return delay; | |
case MICROSECONDS: | |
return delay * 100; | |
case SECONDS: | |
return delay / 100; | |
case NANOSECONDS: | |
return delay * 1000; | |
default: | |
throw new IllegalStateException(); | |
} | |
} | |
@Override | |
public int compareTo(Delayed delayed) { | |
if (delay > delayed.getDelay(TimeUnit.MILLISECONDS)) | |
return 1; | |
else if (delay < delayed.getDelay(TimeUnit.MILLISECONDS)) | |
return -1; | |
else | |
return 0; | |
} | |
@Override | |
public RequestLine getRequestLine() { | |
return request.getRequestLine(); | |
} | |
@Override | |
public ProtocolVersion getProtocolVersion() { | |
return request.getProtocolVersion(); | |
} | |
@Override | |
public boolean containsHeader(String s) { | |
return request.containsHeader(s); | |
} | |
@Override | |
public Header[] getHeaders(String s) { | |
return request.getHeaders(s); | |
} | |
@Override | |
public Header getFirstHeader(String s) { | |
return request.getFirstHeader(s); | |
} | |
@Override | |
public Header getLastHeader(String s) { | |
return request.getLastHeader(s); | |
} | |
@Override | |
public Header[] getAllHeaders() { | |
return request.getAllHeaders(); | |
} | |
@Override | |
public void addHeader(Header header) { | |
request.addHeader(header); | |
} | |
@Override | |
public void addHeader(String s, String s1) { | |
request.addHeader(s, s1); | |
} | |
@Override | |
public void setHeader(Header header) { | |
request.setHeader(header); | |
} | |
@Override | |
public void setHeader(String s, String s1) { | |
request.setHeader(s, s1); | |
} | |
@Override | |
public void setHeaders(Header[] headers) { | |
request.setHeaders(headers); | |
} | |
@Override | |
public void removeHeader(Header header) { | |
request.removeHeader(header); | |
} | |
@Override | |
public void removeHeaders(String s) { | |
request.removeHeaders(s); | |
} | |
@Override | |
public HeaderIterator headerIterator() { | |
return request.headerIterator(); | |
} | |
@Override | |
public HeaderIterator headerIterator(String s) { | |
return request.headerIterator(s); | |
} | |
@Override | |
public HttpParams getParams() { | |
return request.getParams(); | |
} | |
@Override | |
public void setParams(HttpParams httpParams) { | |
request.setParams(httpParams); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment