Header locationHeader = response.getFirstHeader("location"); if (locationHeader == null) { throw new ProtocolException( "Received redirect response " + response.getStatusLine() + " but no location header"); uri = new URI(location); } catch (URISyntaxException ex) { throw new ProtocolException("Invalid redirect URI: " + location, ex); HttpParams params = response.getParams(); HttpHost target = (HttpHost) context.getAttribute( ExecutionContext.HTTP_TARGET_HOST); if (target == null) { HttpRequest request = (HttpRequest) context.getAttribute( ExecutionContext.HTTP_REQUEST); URI requestURI = new URI(request.getRequestLine().getUri()); URI absoluteRequestURI = URIUtils.rewriteURI(requestURI, target, true); uri = URIUtils.resolve(absoluteRequestURI, uri); RedirectLocations redirectLocations = (RedirectLocations) context.getAttribute( REDIRECT_LOCATIONS);
public void process(HttpRequest request, HttpContext ctx) throws HttpException, IOException { try { HttpHost host = (HttpHost) ctx.getAttribute(ExecutionContext.HTTP_TARGET_HOST); final URI requestURI = new URI(host.toURI()).resolve(request.getRequestLine().getUri()); Verb verb = Verb.valueOf(request.getRequestLine().getMethod().toUpperCase()); OAuthRequest oauthRequest = new OAuthRequest(verb, requestURI.toString(), null); this.service = (OAuth10aService) getOauthService(isOAuth1, addEmptyTokenToBaseString); request.setHeader(entry.getKey(), entry.getValue());
throw new IllegalArgumentException("HTTP context may not be null"); if (!request.containsHeader(HTTP.TARGET_HOST)) { HttpHost targethost = (HttpHost) context .getAttribute(ExecutionContext.HTTP_TARGET_HOST); if (targethost == null) { HttpConnection conn = (HttpConnection) context .getAttribute(ExecutionContext.HTTP_CONNECTION); if (conn instanceof HttpInetConnection) { ProtocolVersion ver = request.getRequestLine().getProtocolVersion(); if (ver.lessEquals(HttpVersion.HTTP_1_0)) { return; } else { throw new ProtocolException("Target host missing"); request.addHeader(HTTP.TARGET_HOST, targethost.toHostString());
/** * Creates an instance of this class using the given request line. * * @param requestline request line. */ public BasicExecutionAwareRequest(final RequestLine requestline) { super(); this.requestline = Args.notNull(requestline, "Request line"); this.method = requestline.getMethod(); this.uri = requestline.getUri(); }
@Override public boolean matches(HttpRequest request) { return request.getRequestLine().getMethod().equals(method) && request.getRequestLine().getUri().equals(uri); } }
public RequestWrapper(final HttpRequest request) throws ProtocolException { super(); Args.notNull(request, "HTTP request"); this.original = request; setParams(request.getParams()); setHeaders(request.getAllHeaders()); // Make a copy of the original URI if (request instanceof HttpUriRequest) { this.uri = ((HttpUriRequest) request).getURI(); this.method = ((HttpUriRequest) request).getMethod(); this.version = null; } else { final RequestLine requestLine = request.getRequestLine(); try { this.uri = new URI(requestLine.getUri()); } catch (final URISyntaxException ex) { throw new ProtocolException("Invalid request URI: " + requestLine.getUri(), ex); } this.method = requestLine.getMethod(); this.version = request.getProtocolVersion(); } this.execCount = 0; }
public void process(final HttpRequest request, final HttpContext context) throws IOException { if (logger.isInfoEnabled()) { RequestLine requestLine = request.getRequestLine(); logger.info(">> " + requestLine.getMethod() + " " + URI.create(requestLine.getUri()).getPath()); } } });
public RequestWrapper(final HttpRequest request) throws ProtocolException { super(); if (request == null) { throw new IllegalArgumentException("HTTP request may not be null"); } this.original = request; setParams(request.getParams()); // Make a copy of the original URI if (request instanceof HttpUriRequest) { this.uri = ((HttpUriRequest) request).getURI(); this.method = ((HttpUriRequest) request).getMethod(); this.version = null; } else { RequestLine requestLine = request.getRequestLine(); try { this.uri = new URI(requestLine.getUri()); } catch (URISyntaxException ex) { throw new ProtocolException("Invalid request URI: " + requestLine.getUri(), ex); } this.method = requestLine.getMethod(); this.version = request.getProtocolVersion(); } this.execCount = 0; }
/** * Decide whether a response comes with an entity. * The implementation in this class is based on RFC 2616. * Unknown methods and response codes are supposed to * indicate responses with an entity. * <br/> * Derived executors can override this method to handle * methods and response codes not specified in RFC 2616. * * @param request the request, to obtain the executed method * @param response the response, to obtain the status code */ protected boolean canResponseHaveBody(final HttpRequest request, final HttpResponse response) { if ("HEAD".equalsIgnoreCase(request.getRequestLine().getMethod())) { return false; } int status = response.getStatusLine().getStatusCode(); return status >= HttpStatus.SC_OK && status != HttpStatus.SC_NO_CONTENT && status != HttpStatus.SC_NOT_MODIFIED && status != HttpStatus.SC_RESET_CONTENT; }
CookieStore cookieStore = (CookieStore) context.getAttribute( ClientContext.COOKIE_STORE); if (cookieStore == null) { CookieSpecRegistry registry= (CookieSpecRegistry) context.getAttribute( ClientContext.COOKIESPEC_REGISTRY); if (registry == null) { HttpHost targetHost = (HttpHost) context.getAttribute( ExecutionContext.HTTP_TARGET_HOST); if (targetHost == null) { String policy = HttpClientParams.getCookiePolicy(request.getParams()); if (this.log.isDebugEnabled()) { this.log.debug("CookieSpec selected: " + policy); } else { try { requestURI = new URI(request.getRequestLine().getUri()); } catch (URISyntaxException ex) { throw new ProtocolException("Invalid request URI: " + request.getRequestLine().getUri(), ex); hostName, port, requestURI.getPath(), conn.isSecure());
@Override public boolean matches(HttpRequest request) { URI uri = URI.create(request.getRequestLine().getUri()); if (method != null && !method.equals(request.getRequestLine().getMethod())) { return false; if (hostname != null && !hostname.equals(uri.getHost())) { return false; if (path != null && !path.equals(uri.getRawPath())) { return false; for (Header header : request.getAllHeaders()) { actualRequestHeaders.put(header.getName(), header.getValue());
final HttpServerConnection connObj = (HttpServerConnection)context.getAttribute("http.connection"); if (connObj instanceof SocketHttpServerConnection) { final InetAddress remoteAddr = ((SocketHttpServerConnection)connObj).getRemoteAddress(); sb.append(remoteAddr.toString() + " -- "); sb.append(StringUtils.cleanString(request.getRequestLine().toString())); paramList = URLEncodedUtils.parse(new URI(request.getRequestLine().getUri()), HttpUtils.UTF_8); } catch (final URISyntaxException e) { s_logger.error("Error parsing url request", e); parameterMap.put("httpmethod", new String[] {request.getRequestLine().getMethod()});
throws HttpException, IOException { log.fine("Processing HTTP request: " + httpRequest.getRequestLine().toString()); String requestMethod = httpRequest.getRequestLine().getMethod(); String requestURI = httpRequest.getRequestLine().getUri(); new StreamRequestMessage( UpnpRequest.Method.getByHttpName(requestMethod), URI.create(requestURI) ); } catch(IllegalArgumentException e) { httpResponse.setStatusCode(HttpStatus.SC_INTERNAL_SERVER_ERROR); httpResponse.setStatusLine( new BasicStatusLine( new ProtocolVersion("HTTP", 1, responseMsg.getOperation().getHttpMinorVersion()), log.fine("Response status line: " + httpResponse.getStatusLine());
@Override public URI getURI() { try { return new URI(clientRequest.getRequestLine().getUri()); } catch (URISyntaxException e) { return null; } }
@Override public void process(HttpResponse response, HttpContext context) throws HttpException, IOException { // Avoid work if TRACE is not enabled for this class if (logger.isTraceEnabled()) { final StatusLine statusLine = response.getStatusLine(); final HttpHost targetHost = (HttpHost) context.getAttribute(HttpCoreContext.HTTP_TARGET_HOST); final HttpRequest httpRequest = (HttpRequest) context .getAttribute(HttpCoreContext.HTTP_REQUEST); final RequestLine request = httpRequest.getRequestLine(); logger.trace("[{} {}]: {} {}{}", statusLine.getStatusCode(), statusLine.getReasonPhrase(), request.getMethod(), targetHost.toURI(), request.getUri() ); } } }
private RuntimeException invalidStatusException(String operation, String path, HttpRequest request, HttpResponse response) throws IOException { return new RuntimeException("Operation " + operation + " on file " + path + " failed, user: " + username + ", status: " + response.getStatusLine().getStatusCode() + " " + response.getStatusLine().getReasonPhrase() + ", content: " + IOUtils.toString(response.getEntity().getContent()) + ", request: " + request.getRequestLine().getMethod() + " " + request.getRequestLine().getUri()); }
private void ensure200ForOPTIONSRequestWithNoBodyHasContentLengthZero(final HttpRequest request, final HttpResponse response) { if (!request.getRequestLine().getMethod().equalsIgnoreCase(HeaderConstants.OPTIONS_METHOD)) { return; } if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { return; } if (response.getFirstHeader(HTTP.CONTENT_LEN) == null) { response.addHeader(HTTP.CONTENT_LEN, "0"); } }
public HttpResponse emulateRequest(HttpHost httpHost, HttpRequest httpRequest, HttpContext httpContext, RequestDirector requestDirector) throws HttpException, IOException { if (logHttpRequests) { System.out.println(" <-- " + httpRequest.getRequestLine()); } HttpResponse httpResponse = findResponse(httpRequest); if (logHttpRequests) { System.out.println(" --> " + (httpResponse == null ? null : httpResponse.getStatusLine().getStatusCode())); } if (httpResponse == null) { throw new RuntimeException("Unexpected call to execute, no pending responses are available. See Robolectric.addPendingResponse(). Request was: " + httpRequest.getRequestLine().getMethod() + " " + httpRequest.getRequestLine().getUri()); } else { HttpParams params = httpResponse.getParams(); if (HttpConnectionParams.getConnectionTimeout(params) < 0) { throw new ConnectTimeoutException("Socket is not connected"); } else if (HttpConnectionParams.getSoTimeout(params) < 0) { throw new ConnectTimeoutException("The operation timed out"); } } addRequestInfo(new HttpRequestInfo(httpRequest, httpHost, httpContext, requestDirector)); addHttpResponse(httpResponse); return httpResponse; } public boolean hasPendingResponses() {
final HttpContext context) throws IOException, HttpException { context.setAttribute(ExecutionContext.HTTP_CONNECTION, conn); request.setParams( new DefaultedHttpParams(request.getParams(), this.params)); request.getRequestLine().getProtocolVersion(); if (!ver.lessEquals(HttpVersion.HTTP_1_1)) { response = this.responseFactory.newHttpResponse(ver, HttpStatus.SC_CONTINUE, context); response.setParams( new DefaultedHttpParams(response.getParams(), this.params)); response = this.responseFactory.newHttpResponse(HttpVersion.HTTP_1_0, HttpStatus.SC_INTERNAL_SERVER_ERROR, context); response.setParams( new DefaultedHttpParams(response.getParams(), this.params)); handleException(ex, response); if (response.getStatusLine().getStatusCode() < 200) { new DefaultedHttpParams(response.getParams(), this.params)); context.setAttribute(ExecutionContext.HTTP_REQUEST, request); context.setAttribute(ExecutionContext.HTTP_RESPONSE, response);