Example usage for org.apache.http.client.methods HttpRequestBase getURI

List of usage examples for org.apache.http.client.methods HttpRequestBase getURI

Introduction

In this page you can find the example usage for org.apache.http.client.methods HttpRequestBase getURI.

Prototype

public URI getURI() 

Source Link

Document

Returns the original request URI.

Usage

From source file:com.smartling.api.sdk.FileApiClientAdapterTest.java

@Test
public void testLastModified() throws ApiException, IOException {
    Date lastModifiedAfter = new Date();

    when(response.getContents())/*from  w  w w . j a  v a2  s .c  om*/
            .thenReturn(String.format(LAST_MODIFIED_RESPONSE, LOCALE, DateFormatter.format(lastModifiedAfter)));

    ApiResponse<FileLastModified> apiResponse = fileApiClientAdapter.getLastModified(FILE_URI,
            lastModifiedAfter, LOCALE);

    // Validate the request
    HttpRequestBase request = requestCaptor.getValue();
    List<NameValuePair> params = URLEncodedUtils.parse(request.getURI(), "UTF-8");
    assertLatModifiedRequestParams(lastModifiedAfter, params);
    assertEquals(HOST, request.getURI().getHost());

    // Validate the response
    assertEquals("SUCCESS", apiResponse.getCode());
    assertNotNull(apiResponse.getData());

    FileLastModified fileLastModified = apiResponse.getData();
    assertEquals(1, fileLastModified.getItems().size());

    FileLocaleLastModified fileLocaleLastModified = fileLastModified.getItems().get(0);
    assertEquals(lastModifiedAfter.getTime() / 1000, fileLocaleLastModified.getLastModified().getTime() / 1000);
    assertEquals(LOCALE, fileLocaleLastModified.getLocale());
}

From source file:com.fourspaces.couchdb.CouchResponse.java

/**
 * C-tor parses the method results to build the CouchResponse object. First, it reads the body (hence the
 * IOException) from the method Next, it checks the status codes to determine if the request was successful. If
 * there was an error, it parses the error codes.
 *
 * @param method//  ww  w  .ja v  a 2s .c  om
 * @throws IOException
 */
CouchResponse(HttpRequestBase req, HttpResponse response) throws IOException {
    headers = response.getAllHeaders();
    HttpEntity entity = response.getEntity();
    body = EntityUtils.toString(entity);
    path = req.getURI().getPath();
    statusCode = response.getStatusLine().getStatusCode();

    boolean isGet = (req instanceof HttpGet);
    boolean isPut = (req instanceof HttpPut);
    boolean isPost = (req instanceof HttpPost);
    boolean isDelete = (req instanceof HttpDelete);

    boolean okay = statusCode == 200;
    boolean created = statusCode == 201;
    boolean accepted = statusCode == 202;
    boolean notfound = statusCode == 404;
    boolean conflict = statusCode == 409;

    ObjectMapper mapper = new ObjectMapper();
    if ((isGet && notfound) || (isPut && conflict) || (isPost && notfound) || (isDelete && notfound)) {
        DocumentResponse error = mapper.readValue(body, DocumentResponse.class);
        error_id = error.getError();
        error_reason = error.getReason();
    } else if ((isPut && created) || (isPost && created) || (isDelete && accepted) || (isDelete && okay)) {
        if (path.endsWith("_bulk_docs")) {
            // Handle bulk doc update differently
            @SuppressWarnings("unchecked")
            List<DocumentResponse> bulk = mapper.readValue(body, List.class);
            ok = bulk.size() > 0;
        } else {
            DocumentResponse modification = mapper.readValue(body, DocumentResponse.class);
            ok = modification.isOk();
        }
    } else if (isGet || (isPost && okay)) {
        ok = true;
    }
    log.debug(toString());
}

From source file:com.flipkart.phantom.http.impl.HttpConnectionPool.java

/**
 * Method to execute a request// ww  w .jav a 2s.c  o m
 * @param request HttpRequestBase object
 * @return response HttpResponse object
 */
public HttpResponse execute(HttpRequestBase request, List<Map.Entry<String, String>> headers) throws Exception {
    setRequestHeaders(request, headers);
    logger.debug("Sending request: " + request.getURI());
    if (processQueue.tryAcquire()) {
        HttpResponse response;
        try {
            response = client.execute(request);
        } catch (Exception e) {
            processQueue.release();
            throw e;
        }
        processQueue.release();
        return response;
    } else {
        throw new Exception("Process queue full!");
    }
}

From source file:com.gsma.mobileconnect.impl.CompleteSelectedOperatorDiscoveryTest.java

@Test
public void completeSelectedOperatorDiscovery_withDefaults_shouldCreateExpectedRequest()
        throws DiscoveryException, RestException, IOException {
    // GIVEN// ww  w . ja  va  2  s. c  o  m
    RestClient mockedRestClient = mock(RestClient.class);
    CaptureDiscoveryResponse captureDiscoveryResponse = new CaptureDiscoveryResponse();
    Config config = new Config();

    String exampleJson = buildJsonStr();
    JsonNode expectedJsonObject = buildJsonObject();
    final RestResponse restResponse = new RestResponse(null, 0, null, exampleJson);

    String expectedAccept = "application/json";

    String expectedURL = "http://discovery.sandbox.mobileconnect.io/v2/discovery?Redirect_URL=http%3A%2F%2Flocalhost%2F&Selected-MCC=MCC&Selected-MNC=MNC";

    final CaptureHttpRequestBase captureHttpRequestBase = new CaptureHttpRequestBase();

    doAnswer(new Answer() {
        public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
            Object[] args = invocationOnMock.getArguments();
            HttpRequestBase requestBase = (HttpRequestBase) args[0];
            captureHttpRequestBase.setValue(requestBase);
            return restResponse;
        }
    }).when(mockedRestClient).callRestEndPoint(any(HttpRequestBase.class), any(HttpClientContext.class),
            eq(30000), Matchers.<List<KeyValuePair>>any());

    IDiscovery discovery = Factory.getDiscovery(null, mockedRestClient);

    // WHEN
    discovery.completeSelectedOperatorDiscovery(config, null, SELECTED_MCC, SELECTED_MNC, null, null,
            captureDiscoveryResponse);

    // THEN
    DiscoveryResponse discoveryResponse = captureDiscoveryResponse.getDiscoveryResponse();
    assertEquals(expectedJsonObject, discoveryResponse.getResponseData());

    HttpRequestBase capturedRequest = captureHttpRequestBase.getValue();
    assertEquals(expectedURL, capturedRequest.getURI().toString());
    assertEquals(expectedAccept, capturedRequest.getFirstHeader("accept").getValue());
}

From source file:com.gsma.mobileconnect.impl.CompleteSelectedOperatorDiscoveryTest.java

@Test
public void completeSelectedOperatorDiscovery_withAllOptionsSet_shouldCreateExpectedRequest()
        throws DiscoveryException, RestException, IOException {
    // GIVEN//from  w w  w  . jav  a  2 s .  c  o m
    RestClient mockedRestClient = mock(RestClient.class);
    CaptureDiscoveryResponse captureDiscoveryResponse = new CaptureDiscoveryResponse();
    Config config = new Config();

    String exampleJson = buildJsonStr();
    JsonNode expectedJsonObject = buildJsonObject();
    final RestResponse restResponse = new RestResponse(null, 0, null, exampleJson);

    CompleteSelectedOperatorDiscoveryOptions options = new CompleteSelectedOperatorDiscoveryOptions();
    options.setTimeout(333);

    String expectedAccept = "application/json";

    String expectedURL = "http://discovery.sandbox.mobileconnect.io/v2/discovery?Redirect_URL=http%3A%2F%2Flocalhost%3A8080%2Fmobileconnect&Selected-MCC=MCC&Selected-MNC=MNC";

    final CaptureHttpRequestBase captureHttpRequestBase = new CaptureHttpRequestBase();

    doAnswer(new Answer() {
        public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
            Object[] args = invocationOnMock.getArguments();
            HttpRequestBase requestBase = (HttpRequestBase) args[0];
            captureHttpRequestBase.setValue(requestBase);
            return restResponse;
        }
    }).when(mockedRestClient).callRestEndPoint(any(HttpRequestBase.class), any(HttpClientContext.class),
            eq(options.getTimeout()), Matchers.<List<KeyValuePair>>any());

    IDiscovery discovery = Factory.getDiscovery(null, mockedRestClient);

    // WHEN
    discovery.completeSelectedOperatorDiscovery(config, Config.REDIRECT_URL, SELECTED_MCC, SELECTED_MNC,
            options, null, captureDiscoveryResponse);

    // THEN
    DiscoveryResponse discoveryResponse = captureDiscoveryResponse.getDiscoveryResponse();
    assertEquals(expectedJsonObject, discoveryResponse.getResponseData());

    HttpRequestBase capturedRequest = captureHttpRequestBase.getValue();
    assertEquals(expectedURL, capturedRequest.getURI().toString());
    assertEquals(expectedAccept, capturedRequest.getFirstHeader("accept").getValue());
}

From source file:eionet.webq.xforms.XFormsHTTPRequestAuthHandlerImpl.java

@Override
public void addAuthToHttpRequest(HttpRequestBase httpRequestBase, Map<Object, Object> context) {

    String uri = httpRequestBase.getURI().toString();

    String instance = null;/*from w  w w .j a  v  a2s  .c  o m*/
    String envelope = null;
    String requestURLHost = null;
    Integer fileId = null;
    String authentication = null;
    String sessionId = null;

    if (uri == null) {
        return;
    }

    // load bf context attributes
    if (context.get("instance") != null) {
        instance = (String) context.get("instance");
    }
    if (context.get("envelope") != null) {
        envelope = (String) context.get("envelope");
    }
    if (context.get(BF_REQUEST_URL_ATTRIBUTE) != null) {
        try {
            URI requestURI = new URI((String) context.get(BF_REQUEST_URL_ATTRIBUTE));
            requestURLHost = StringUtils.substringBefore(requestURI.toString(), requestURI.getHost())
                    + requestURI.getHost();
            LOGGER.info("bF requestURLHost= " + requestURLHost);
        } catch (URISyntaxException e) {
            LOGGER.warn("requestURL is not valid URL: " + context.get(BF_REQUEST_URL_ATTRIBUTE));
        }
    }
    if (context.get("fileId") != null) {
        fileId = Integer.valueOf((String) context.get("fileId"));
    }
    // http session attribute stored in betterform context
    if (context.get(BF_HTTP_SESSION_ATTRIBUTE) != null) {
        sessionId = (String) context.get(BF_HTTP_SESSION_ATTRIBUTE);
    }

    LOGGER.info("Get resource from XForm: " + uri);

    if (uri.startsWith(requestURLHost)) {
        // check if the request on the same (webq) host is done in the same session. Fix session id if required.
        if (sessionId != null) {
            validateSessionIdInRequestHeader(context, sessionId);
            LOGGER.info("Get resource from: " + uri);
        }
    } else {
        // add auth info only for URIs that are not on the same host.
        if (fileId != null && sessionId != null) {
            LOGGER.debug("Check if user is logged in to get resource for fileId=" + fileId);
            if (!context.containsKey(WEBQ_AUTH_ATTRIBUTE)) {
                // check if user is logged in - ask auth info from user_xml file table
                UserFile userFile = userFileService.getById(fileId);
                if (userFile.isAuthorized()) {
                    String authorizationInfo = userFile.getAuthorization();
                    String cookiesInfo = userFile.getCookies();
                    if (StringUtils.isNotEmpty(authorizationInfo)) {
                        authentication = "Authorization=" + authorizationInfo;
                    } else if (StringUtils.isNotEmpty(cookiesInfo)) {
                        authentication = "Cookie=" + cookiesInfo;
                    }
                }
                context.put(WEBQ_AUTH_ATTRIBUTE, authentication);
                LOGGER.debug("Store basic auth info in context for fileId=" + fileId);
            } else {
                // auth info stored in context
                authentication = context.get(WEBQ_AUTH_ATTRIBUTE) != null
                        ? (String) context.get(WEBQ_AUTH_ATTRIBUTE)
                        : null;
            }
            // add auth info only if user is logged in
            if (StringUtils.isNotEmpty(authentication)) {
                LOGGER.debug("User is logged in to get resource for fileId=" + fileId);

                String authAttribute = StringUtils.substringBefore(authentication, "=");

                // if the URI starts with instance or envelope URI, then we can use the basic auth retrieved from CDR.
                if (!"Cookie".equals(authAttribute)
                        && ((StringUtils.isNotBlank(instance) && uri.startsWith(instance))
                                || (StringUtils.isNotBlank(envelope) && uri.startsWith(envelope)))) {

                    String authAttributeValues = StringUtils.substringAfter(authentication, "=");
                    // prevent betterForm to overwrite cookies
                    /* Fall back to KnownHosts authorisation (qaaccount) if cookie auth mode is used.
                    // cookie mode does not work on test server.
                    if ("Cookie".equals(authAttribute)) {
                    if (context.containsKey(AbstractHTTPConnector.REQUEST_COOKIE)) {
                        context.remove(AbstractHTTPConnector.REQUEST_COOKIE);
                    }
                    }
                    */
                    httpRequestBase.addHeader(authAttribute, authAttributeValues);
                    LOGGER.info("Add " + authAttribute + " from session to URL: " + uri);
                } else {
                    // check if we have known host in db
                    KnownHost knownHost = knownHostsService.getKnownHost(uri);
                    if (knownHost != null) {
                        // add ticket parameter to request URI if needed
                        if (knownHost
                                .getAuthenticationMethod() == KnownHostAuthenticationMethod.REQUEST_PARAMETER) {
                            LOGGER.info("Add ticket parameter from known hosts to URL: " + uri);
                            uri = getUrlWithAuthParam(uri, knownHost);
                            if (!uri.equals(httpRequestBase.getURI().toString())) {
                                try {
                                    httpRequestBase.setURI(new URI(uri));
                                } catch (URISyntaxException e) {
                                    LOGGER.error("Unable to add known host ticket parameter for URI:" + uri);
                                    e.printStackTrace();
                                }
                            }
                        } else if (knownHost.getAuthenticationMethod() == KnownHostAuthenticationMethod.BASIC) {
                            // Add basic authorisation if needed
                            try {
                                LOGGER.info("Add basic auth from known hosts to URL: " + uri);
                                httpRequestBase.addHeader("Authorization", "Basic " + Base64.encodeBase64String(
                                        (knownHost.getKey() + ":" + knownHost.getTicket()).getBytes("utf-8"))
                                        .replaceAll("\n", ""));
                            } catch (UnsupportedEncodingException e) {
                                LOGGER.warn("UnsupportedEncodingException: utf-8");
                            }
                        }
                    }
                }
            }
        }
    }
}

From source file:com.windigo.http.client.ApacheHttpClient.java

/**
 * Execute the given {@link HttpRequestBase}. Closes all the expired
 * connection pool items and set heeaders if present.
 * /*from   ww  w  .j  a  va  2s .c o  m*/
 * @param httpRequest
 * @throws IOException
 * @return {@link HttpResponse}
 */
public HttpResponse executeHttpRequest(HttpRequestBase httpRequest) throws IOException {

    Logger.log("[Request] Executing http request for: " + httpRequest.getURI().toString());

    // set headers for request
    if (headers != null && headers.length > 0) {
        httpRequest.setHeaders(headers);
        Logger.log("[Request] Found " + headers.length + " header");
    }

    try {
        mHttpClient.getConnectionManager().closeExpiredConnections();
        return mHttpClient.execute(httpRequest);
    } catch (IOException e) {
        httpRequest.abort();
        throw e;
    }

}

From source file:org.fao.geonet.utils.GeonetHttpRequestFactoryTest.java

@Test
public void testAlternateXmlRequestFactoryMethods() throws Exception {
    XmlRequest xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 1234, "http");
    HttpRequestBase httpRequestBase = xmlRequest.setupHttpMethod();

    assertTrue(httpRequestBase instanceof HttpGet);
    assertEquals("host", httpRequestBase.getURI().getHost());
    assertEquals(1234, httpRequestBase.getURI().getPort());
    assertEquals("http", httpRequestBase.getURI().getScheme());
    assertEquals("", httpRequestBase.getURI().getPath());
    assertEquals(null, httpRequestBase.getURI().getQuery());
    assertEquals(null, httpRequestBase.getURI().getFragment());

    xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 1234);
    httpRequestBase = xmlRequest.setupHttpMethod();

    assertTrue(httpRequestBase instanceof HttpGet);
    assertEquals("host", httpRequestBase.getURI().getHost());
    assertEquals(1234, httpRequestBase.getURI().getPort());
    assertEquals("http", httpRequestBase.getURI().getScheme());
    assertEquals("", httpRequestBase.getURI().getPath());
    assertEquals(null, httpRequestBase.getURI().getQuery());
    assertEquals(null, httpRequestBase.getURI().getFragment());

    xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 443);
    httpRequestBase = xmlRequest.setupHttpMethod();

    assertTrue(httpRequestBase instanceof HttpGet);
    assertEquals("host", httpRequestBase.getURI().getHost());
    assertEquals(443, httpRequestBase.getURI().getPort());
    assertEquals("https", httpRequestBase.getURI().getScheme());
    assertEquals("", httpRequestBase.getURI().getPath());
    assertEquals(null, httpRequestBase.getURI().getQuery());
    assertEquals(null, httpRequestBase.getURI().getFragment());

    xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host", 80);
    httpRequestBase = xmlRequest.setupHttpMethod();

    assertTrue(httpRequestBase instanceof HttpGet);
    assertEquals("host", httpRequestBase.getURI().getHost());
    assertEquals(80, httpRequestBase.getURI().getPort());
    assertEquals("http", httpRequestBase.getURI().getScheme());
    assertEquals("", httpRequestBase.getURI().getPath());
    assertEquals(null, httpRequestBase.getURI().getQuery());
    assertEquals(null, httpRequestBase.getURI().getFragment());

    xmlRequest = new GeonetHttpRequestFactory().createXmlRequest("host");
    httpRequestBase = xmlRequest.setupHttpMethod();

    assertTrue(httpRequestBase instanceof HttpGet);
    assertEquals("host", httpRequestBase.getURI().getHost());
    assertEquals(80, httpRequestBase.getURI().getPort());
    assertEquals("http", httpRequestBase.getURI().getScheme());
    assertEquals("", httpRequestBase.getURI().getPath());
    assertEquals(null, httpRequestBase.getURI().getQuery());
    assertEquals(null, httpRequestBase.getURI().getFragment());

    xmlRequest = new GeonetHttpRequestFactory().createXmlRequest();

    assertEquals(null, xmlRequest.getHost());
    assertEquals(80, xmlRequest.getPort());
    assertEquals("http", xmlRequest.getProtocol());
    assertEquals(null, xmlRequest.getAddress());
    assertEquals(null, xmlRequest.getQuery());
    assertEquals(null, xmlRequest.getFragment());

}

From source file:com.kolich.havalo.client.service.HavaloClient.java

public Either<HttpFailure, ObjectList> listObjects(final String... path) {
    // The listing of objects is only successful when the
    // resulting status code is a 200 OK.  Any other status
    // code on the response is failure.
    return new HavaloGsonClosure<ObjectList>(client_, gson_.create(), ObjectList.class, SC_OK) {
        @Override/* w  w w  .  j  a v  a  2 s .  c o  m*/
        public void before(final HttpRequestBase request) throws Exception {
            final URIBuilder builder = new URIBuilder(request.getURI());
            if (path != null && path.length > 0) {
                builder.addParameter(API_PARAM_STARTSWITH, varargsToPrefixString(path));
            }
            request.setURI(builder.build());
            super.before(request);
        }
    }.get(API_ACTION_REPOSITORY);
}