List of usage examples for org.apache.http.client.methods CloseableHttpResponse getStatusLine
StatusLine getStatusLine();
From source file:io.undertow.js.test.security.JavascriptSecurityTestCase.java
@Test public void testAuthentication() throws IOException, ScriptException { final TestHttpClient client = new TestHttpClient(); try {/*from w ww . j av a2 s. c o m*/ HttpGet get = new HttpGet(DefaultServer.getDefaultServerURL() + "/servletContext/all-auth1"); CloseableHttpResponse result = client.execute(get); Assert.assertEquals(StatusCodes.UNAUTHORIZED, result.getStatusLine().getStatusCode()); Header[] values = result.getHeaders(WWW_AUTHENTICATE.toString()); String header = getAuthHeader(BASIC, values); assertEquals(BASIC + " realm=\"Test Realm\"", header); HttpClientUtils.readResponse(result); get = new HttpGet(DefaultServer.getDefaultServerURL() + "/servletContext/all-auth1"); get.addHeader(AUTHORIZATION.toString(), BASIC + " " + FlexBase64.encodeString("user1:password1".getBytes(), false)); result = client.execute(get); Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode()); Assert.assertEquals("ok", HttpClientUtils.readResponse(result)); get = new HttpGet(DefaultServer.getDefaultServerURL() + "/servletContext/all-auth2"); get.addHeader(AUTHORIZATION.toString(), BASIC + " " + FlexBase64.encodeString("user2:password2".getBytes(), false)); result = client.execute(get); Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode()); Assert.assertEquals("ok", HttpClientUtils.readResponse(result)); get = new HttpGet(DefaultServer.getDefaultServerURL() + "/servletContext/admin"); get.addHeader(AUTHORIZATION.toString(), BASIC + " " + FlexBase64.encodeString("user1:password1".getBytes(), false)); result = client.execute(get); Assert.assertEquals(StatusCodes.OK, result.getStatusLine().getStatusCode()); Assert.assertEquals("ok", HttpClientUtils.readResponse(result)); get = new HttpGet(DefaultServer.getDefaultServerURL() + "/servletContext/admin"); get.addHeader(AUTHORIZATION.toString(), BASIC + " " + FlexBase64.encodeString("user2:password2".getBytes(), false)); result = client.execute(get); Assert.assertEquals(StatusCodes.FORBIDDEN, result.getStatusLine().getStatusCode()); HttpClientUtils.readResponse(result); } finally { client.getConnectionManager().shutdown(); } }
From source file:org.palo.it.devoxx.raspberry.rest.Sender.java
private int sendPost(final HttpPost httppost) throws UnsupportedEncodingException, IOException { final CloseableHttpClient httpclient = HttpClients.createDefault(); int resultCode = 500; CloseableHttpResponse response = null; try {//from w w w .j a v a 2s. c o m response = httpclient.execute(httppost); resultCode = response.getStatusLine().getStatusCode(); } catch (final IOException e) { LOGGER.error(e.getMessage(), e); } finally { if (response != null) { response.close(); } } httpclient.close(); return resultCode; }
From source file:com.threatconnect.sdk.conn.HttpRequestExecutor.java
/** * Execute an HTTP request and return the raw input stream. <i>Caller is responsible for closing InputStream.</i> * * @param path url to issue request to//from w w w . j av a2s. com * @return raw input stream from response * @throws IOException On error */ @Override public InputStream executeDownloadByteStream(String path) throws IOException { if (this.conn.getConfig() == null) { throw new IllegalStateException("Can't execute HTTP request when configuration is undefined."); } InputStream stream = null; String fullPath = this.conn.getConfig().getTcApiUrl() + path.replace("/api/", "/"); logger.trace("Calling GET: " + fullPath); HttpRequestBase httpBase = getBase(fullPath, HttpMethod.GET); String headerPath = httpBase.getURI().getRawPath() + "?" + httpBase.getURI().getRawQuery(); ConnectionUtil.applyHeaders(this.conn.getConfig(), httpBase, httpBase.getMethod(), headerPath, conn.getConfig().getContentType(), ContentType.APPLICATION_OCTET_STREAM.toString()); logger.trace("Request: " + httpBase.getRequestLine()); logger.trace("Headers: " + Arrays.toString(httpBase.getAllHeaders())); CloseableHttpResponse response = this.conn.getApiClient().execute(httpBase); logger.trace(response.getStatusLine().toString()); HttpEntity entity = response.getEntity(); if (entity != null) { stream = entity.getContent(); logger.trace(String.format("Result stream size: %d, encoding: %s", entity.getContentLength(), entity.getContentEncoding())); } return stream; }
From source file:ar.edu.ubp.das.src.chat.actions.MessagesListAction.java
@Override public ForwardConfig execute(ActionMapping mapping, DynaActionForm form, HttpServletRequest request, HttpServletResponse response) throws SQLException, RuntimeException { try (CloseableHttpClient httpClient = HttpClientBuilder.create().build()) { Gson gson = new Gson(); //prepare http get SalaBean sala = (SalaBean) request.getSession().getAttribute("sala"); String login_tmst = (String) request.getSession().getAttribute("login_tmst"); String authToken = String.valueOf(request.getSession().getAttribute("token")); URIBuilder builder = new URIBuilder(); builder.setScheme("http").setHost("25.136.78.82").setPort(8080) .setPath("/mensajes/sala/" + sala.getId()); builder.setParameter("fecha_desde", login_tmst); HttpGet getRequest = new HttpGet(); getRequest.setURI(builder.build()); getRequest.addHeader("Authorization", "BEARER " + authToken); getRequest.addHeader("accept", "application/json; charset=ISO-8859-1"); CloseableHttpResponse getResponse = httpClient.execute(getRequest); HttpEntity responseEntity = getResponse.getEntity(); StatusLine responseStatus = getResponse.getStatusLine(); String restResp = EntityUtils.toString(responseEntity); if (responseStatus.getStatusCode() != 200) { throw new RuntimeException(restResp); }/*ww w . ja va 2 s . co m*/ //parse message data from response Type listType = new TypeToken<LinkedList<MensajeBean>>() { }.getType(); List<MensajeBean> mensajes = gson.fromJson(restResp, listType); if (!mensajes.isEmpty()) { request.getSession().setAttribute("ultimo_mensaje", mensajes.get(mensajes.size() - 1).getId_mensaje()); } request.setAttribute("mensajes", mensajes); return mapping.getForwardByName("success"); } catch (IOException | URISyntaxException | RuntimeException e) { request.setAttribute("message", "Error al intentar mostrar mensajes: " + e.getMessage()); response.setStatus(400); return mapping.getForwardByName("error"); } }
From source file:com.terracotta.nrplugin.rest.nr.MetricReporter.java
private void doReportMetrics() { if (StateManager.TmcState.available.equals(stateManager.getTmcState())) { try {/*from www .jav a 2 s . c om*/ NewRelicPayload newRelicPayload = metricProvider.assemblePayload(); log.info("Attempting to report stats to NewRelic..."); if (nrRequestLog.isDebugEnabled()) { try { nrRequestLog.debug(new ObjectMapper().writeValueAsString(newRelicPayload)); } catch (JsonProcessingException e) { log.error("Error serializing payload.", e); } } String json = mapper.writeValueAsString(newRelicPayload); HttpHost target = new HttpHost(nrHost, nrPort, nrScheme); HttpPost httpPost = new HttpPost(nrPath); httpPost.setEntity(new StringEntity(json)); httpPost.setHeader(X_LICENSE_KEY, licenseKey); httpPost.setHeader(org.apache.http.HttpHeaders.CONTENT_TYPE, ContentType.APPLICATION_JSON.getMimeType()); httpPost.setHeader(org.apache.http.HttpHeaders.ACCEPT, ContentType.APPLICATION_JSON.getMimeType()); CloseableHttpResponse response = httpClient.execute(target, httpPost); log.info("New Relic Response code: " + response.getStatusLine().getStatusCode()); if (log.isDebugEnabled()) { log.debug("Received response: " + EntityUtils.toString(response.getEntity())); } EntityUtils.consumeQuietly(response.getEntity()); log.info("Done reporting to NewRelic."); metricProvider.clearAllMetricData(); } catch (Exception e) { log.error("Error while attempting to publish stats to NewRelic.", e); } } else { log.info("TMC State is '" + stateManager.getTmcState() + "', so disabling NR publication."); } }
From source file:org.opendaylight.infrautils.diagstatus.shell.HttpClient.java
public HttpResponse sendRequest(HttpRequest request) throws Exception { CloseableHttpClient httpclient = HttpClients.createDefault(); if (httpclient == null) { throw new ClientProtocolException("Couldn't create an HTTP client"); }//from w ww.jav a 2 s . c om RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(request.getTimeout()) .setConnectTimeout(request.getTimeout()).build(); HttpRequestBase httprequest; String method = request.getMethod(); if (method.equalsIgnoreCase("GET")) { httprequest = new HttpGet(request.getUri()); } else if (method.equalsIgnoreCase("POST")) { httprequest = new HttpPost(request.getUri()); if (request.getEntity() != null) { StringEntity sentEntity = new StringEntity(request.getEntity()); sentEntity.setContentType(request.getContentType()); ((HttpEntityEnclosingRequestBase) httprequest).setEntity(sentEntity); } } else if (method.equalsIgnoreCase("PUT")) { httprequest = new HttpPut(request.getUri()); if (request.getEntity() != null) { StringEntity sentEntity = new StringEntity(request.getEntity()); sentEntity.setContentType(request.getContentType()); ((HttpEntityEnclosingRequestBase) httprequest).setEntity(sentEntity); } } else if (method.equalsIgnoreCase("DELETE")) { httprequest = new HttpDelete(request.getUri()); } else { httpclient.close(); throw new IllegalArgumentException( "This profile class only supports GET, POST, PUT, and DELETE methods"); } httprequest.setConfig(requestConfig); // add request headers Iterator<String> headerIterator = request.getHeaders().keySet().iterator(); while (headerIterator.hasNext()) { String header = headerIterator.next(); Iterator<String> valueIterator = request.getHeaders().get(header).iterator(); while (valueIterator.hasNext()) { httprequest.addHeader(header, valueIterator.next()); } } CloseableHttpResponse response = httpclient.execute(httprequest); try { int httpResponseCode = response.getStatusLine().getStatusCode(); HashMap<String, List<String>> headerMap = new HashMap<>(); // copy response headers HeaderIterator it = response.headerIterator(); while (it.hasNext()) { Header nextHeader = it.nextHeader(); String name = nextHeader.getName(); String value = nextHeader.getValue(); if (headerMap.containsKey(name)) { headerMap.get(name).add(value); } else { List<String> list = new ArrayList<>(); list.add(value); headerMap.put(name, list); } } if (httpResponseCode > 299) { return new HttpResponse(httpResponseCode, response.getStatusLine().getReasonPhrase(), headerMap); } Optional<HttpEntity> receivedEntity = Optional.ofNullable(response.getEntity()); String httpBody = receivedEntity.isPresent() ? EntityUtils.toString(receivedEntity.get()) : null; return new HttpResponse(response.getStatusLine().getStatusCode(), httpBody, headerMap); } finally { response.close(); } }
From source file:org.gradle.cache.tasks.http.HttpTaskOutputCache.java
@Override public boolean load(TaskCacheKey key, TaskOutputReader reader) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); try {/* ww w . j av a 2s . com*/ final URI uri = root.resolve("./" + key.getHashCode()); HttpGet httpGet = new HttpGet(uri); final CloseableHttpResponse response = httpClient.execute(httpGet); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Response for GET {}: {}", uri, response.getStatusLine()); } try { int statusCode = response.getStatusLine().getStatusCode(); if (statusCode >= 200 && statusCode < 300) { reader.readFrom(response.getEntity().getContent()); return true; } else { return false; } } finally { response.close(); } } finally { httpClient.close(); } }
From source file:cn.vlabs.duckling.vwb.service.ddl.RestClient.java
private boolean isValidStatus(CloseableHttpResponse response) { int statusCode = response.getStatusLine().getStatusCode(); return statusCode == 200 || statusCode == 201 || statusCode == 204; }
From source file:com.ibm.team.build.internal.hjplugin.util.HttpUtils.java
/** * Perform any authentication required (Form or Basic) if the previous request did not * succeed./* www .j a v a2s .c o m*/ * @param response The response from the previous request. It will be consumed if * we are going to do authentication (i.e. not returned by this call). * @param httpClient The httpClient to use for authentication * @param httpContext The current context for use in request. Required. * It may be updated with authentication info if necessary. * @param serverURI The URI for the server * @param userId The user that is performing the request * @param password The user's password * @param timeout The timeout for the password * @param listener The listener should any messages need to be logged. May be * <code>null</code> * @return The response from the form based auth, or the original request if no auth is required * <code>null</code> if the request needs to be repeated (now that the context has been updated). * @throws InvalidCredentialsException Thrown if the user's userid or password are invalid. * @throws IOException Thrown if anything else goes wrong. * @throws GeneralSecurityException */ private static CloseableHttpResponse authenticateIfRequired(CloseableHttpResponse response, CloseableHttpClient httpClient, HttpClientContext httpContext, String serverURI, String userId, String password, int timeout, TaskListener listener) throws InvalidCredentialsException, IOException, GeneralSecurityException { // decide what kind of Auth is required if any int statusCode = response.getStatusLine().getStatusCode(); Header formHeader = response.getFirstHeader(FORM_AUTHREQUIRED_HEADER); Header basicHeader = response.getFirstHeader(BASIC_AUTHREQUIRED_HEADER); if (formHeader != null && FORM_AUTHREQUIRED_HEADER_VALUE.equals(formHeader.getValue())) { closeResponse(response); // login using Form based auth return handleFormBasedChallenge(httpClient, httpContext, serverURI, userId, password, timeout, listener); } if (statusCode == 401 && basicHeader != null) { if (JAUTH_PATTERN.matcher(basicHeader.getValue()).matches()) { throw new UnsupportedOperationException(); } else if (BASIC_PATTERN.matcher(basicHeader.getValue()).matches()) { closeResponse(response); // setup the context to use Basic auth handleBasicAuthChallenge(httpContext, serverURI, userId, password, listener); return null; } } return response; }
From source file:org.commonjava.indy.httprox.RetrievedContentMatchesContentLength_SlowClient_Test.java
@Test public void run() throws Exception { final String testRepo = "test"; String path = "path/to/binary.bin"; StringBuilder content = new StringBuilder(); for (int i = 0; i < CONTENT_LENGTH; i++) { content.append((char) rand.nextInt(SELECTION_RANGE_SIZE) + SELECTION_OFFSET); }/*from w ww.j a v a2s. c o m*/ final String url = server.formatUrl(testRepo, path); server.expect(url, 200, content.toString()); final HttpGet get = new HttpGet(url); final CloseableHttpClient client = proxiedHttp(); CloseableHttpResponse response = null; InputStream stream = null; try { response = client.execute(get, proxyContext(USER, PASS)); assertThat(response.getStatusLine().getStatusCode(), equalTo(200)); stream = response.getEntity().getContent(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buf = new byte[1024]; int read = -1; while ((read = stream.read(buf)) > -1) { baos.write(buf, 0, read); } final String resultingPom = new String(baos.toByteArray()); assertThat(resultingPom, notNullValue()); assertThat(resultingPom, equalTo(content.toString())); } finally { IOUtils.closeQuietly(stream); HttpResources.cleanupResources(get, response, client); } }