PageRenderTime 4ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/signpost-jetty6/src/main/java/oauth/signpost/jetty/HttpRequestAdapter.java

http://oauth-signpost.googlecode.com/
Java | 61 lines | 44 code | 14 blank | 3 comment | 2 complexity | 77710ccb30b0af32e2af01b6f079a311 MD5 | raw file
  1. package oauth.signpost.jetty;
  2. import java.io.ByteArrayInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import oauth.signpost.http.HttpRequest;
  6. import org.mortbay.jetty.HttpFields;
  7. import org.mortbay.jetty.client.HttpExchange;
  8. public class HttpRequestAdapter implements HttpRequest {
  9. private HttpExchange request;
  10. private String requestUrl;
  11. public HttpRequestAdapter(HttpExchange request) {
  12. this.request = request;
  13. buildRequestUrl();
  14. }
  15. public String getContentType() {
  16. HttpFields fields = request.getRequestFields();
  17. return fields.getStringField("Content-Type");
  18. }
  19. public String getHeader(String name) {
  20. HttpFields fields = request.getRequestFields();
  21. return fields.getStringField(name);
  22. }
  23. public InputStream getMessagePayload() throws IOException {
  24. return new ByteArrayInputStream(request.getRequestContent().array());
  25. }
  26. public String getMethod() {
  27. return request.getMethod();
  28. }
  29. public String getRequestUrl() {
  30. return requestUrl;
  31. }
  32. public void setHeader(String name, String value) {
  33. request.setRequestHeader(name, value);
  34. }
  35. // Jetty has some very weird mechanism for handling URLs... we have to
  36. // reconstruct it here.
  37. private void buildRequestUrl() {
  38. StringBuilder sb = new StringBuilder();
  39. sb.append(request.getScheme() + "://");
  40. sb.append(request.getAddress().toString().replaceAll(":\\d+", ""));
  41. if (request.getURI() != null) {
  42. // the "URI" in Jetty is actually the path... WTF?!
  43. sb.append(request.getURI());
  44. }
  45. this.requestUrl = sb.toString();
  46. }
  47. }