List of usage examples for org.apache.http.impl.auth BasicScheme BasicScheme
public BasicScheme()
From source file:com.adobe.aem.demomachine.communities.Loader.java
private static int doPost(String hostname, String port, String url, String user, String password, HttpEntity entity, Map<String, String> elements, String referer) { String jsonElement = null;/*from www.ja v a2s . c o m*/ if (hostname == null || port == null || url == null || user == null || password == null) { logger.error("Can't POST with requested parameters, one is null"); return 500; } int returnCode = 404; try { HttpHost target = new HttpHost(hostname, Integer.parseInt(port), "http"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials(user, password)); CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider) .build(); try { // Adding the Basic Authentication data to the context for this command AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); // Composing the root URL for all subsequent requests String postUrl = "http://" + hostname + ":" + port + url; logger.debug("Posting request as " + user + " to " + postUrl); // Preparing a standard POST HTTP command HttpPost request = new HttpPost(postUrl); request.setEntity(entity); if (!entity.getContentType().toString().contains("multipart")) { request.addHeader("content-type", "application/x-www-form-urlencoded"); } request.addHeader("Accept", "application/json, text/javascript, */*; q=0.01"); request.addHeader("Origin", postUrl); if (referer != null) { request.addHeader("Referer", referer); } // Sending the HTTP POST command CloseableHttpResponse response = httpClient.execute(target, request, localContext); try { returnCode = response.getStatusLine().getStatusCode(); String responseString = EntityUtils.toString(response.getEntity(), "UTF-8"); if (returnCode >= 500) { logger.error("POST return code: " + returnCode); logger.debug(responseString); return returnCode; } if (returnCode >= 400) { logger.warn("POST return code: " + returnCode); logger.debug(responseString); return returnCode; } if (elements == null) return returnCode; Set<String> keys = elements.keySet(); if (!isJSONValid(responseString) && keys.size() > 0) { logger.warn( "POST operation didn't return a JSON string, hence cannot extract requested value"); return returnCode; } for (String lookup : keys) { if (lookup != null) { int separatorIndex = lookup.indexOf("/"); if (separatorIndex > 0) { // Grabbing element in a nested element Object object = new JSONObject(responseString) .get(lookup.substring(0, separatorIndex)); if (object != null) { if (object instanceof JSONArray) { JSONArray jsonArray = (JSONArray) object; if (jsonArray.length() == 1) { JSONObject jsonObject = jsonArray.getJSONObject(0); jsonElement = jsonObject .getString(lookup.substring(1 + separatorIndex)); //logger.debug("JSON value (jsonArray) returned is " + jsonElement); } } else if (object instanceof JSONObject) { JSONObject jsonobject = (JSONObject) object; jsonElement = jsonobject.getString(lookup.substring(1 + separatorIndex)); //logger.debug("JSON value (jsonObject) returned is " + jsonElement); } } } else { // Grabbing element at the top of the JSON response jsonElement = new JSONObject(responseString).getString(lookup); //logger.debug("JSON (top) value returned is " + jsonElement); } } elements.put(lookup, jsonElement); } } catch (Exception ex) { logger.error(ex.getMessage()); } finally { response.close(); } } catch (Exception ex) { logger.error(ex.getMessage()); } finally { httpClient.close(); } } catch (IOException e) { logger.error(e.getMessage()); } return returnCode; }
From source file:com.adobe.aem.demomachine.communities.Loader.java
private static String doPost(String hostname, String port, String url, String user, String password) { String responseString = null; if (hostname == null || port == null || url == null || user == null || password == null) { logger.error("Can't POST with requested parameters, one is null"); return responseString; }// ww w. j av a 2 s. c o m try { HttpHost target = new HttpHost(hostname, Integer.parseInt(port), "http"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials(user, password)); CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider) .build(); try { // Adding the Basic Authentication data to the context for this command AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); // Composing the root URL for all subsequent requests String postUrl = "http://" + hostname + ":" + port + url; // Preparing a standard POST HTTP command HttpPost request = new HttpPost(postUrl); // Sending the HTTP POST command CloseableHttpResponse response = httpClient.execute(target, request, localContext); try { int returnCode = response.getStatusLine().getStatusCode(); responseString = EntityUtils.toString(response.getEntity(), "UTF-8"); if (returnCode >= 500) { logger.fatal("Server error" + responseString); } } catch (Exception ex) { logger.error(ex.getMessage()); } finally { response.close(); } } catch (Exception ex) { logger.error(ex.getMessage()); } finally { httpClient.close(); } } catch (IOException e) { logger.error(e.getMessage()); } return responseString; }
From source file:com.adobe.aem.demomachine.communities.Loader.java
private static void doDelete(String hostname, String port, String url, String user, String password) { try {//from w ww. ja va 2s . co m HttpHost target = new HttpHost(hostname, Integer.parseInt(port), "http"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials(user, password)); CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider) .build(); try { // Adding the Basic Authentication data to the context for this command AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); // Composing the root URL for all subsequent requests String postUrl = "http://" + hostname + ":" + port + url; logger.debug("Deleting request as " + user + " to " + postUrl); HttpDelete request = new HttpDelete(postUrl); httpClient.execute(target, request, localContext); } catch (Exception ex) { logger.error(ex.getMessage()); } finally { httpClient.close(); } } catch (IOException e) { logger.error(e.getMessage()); } }
From source file:com.adobe.aem.demomachine.communities.Loader.java
private static String doGet(String hostname, String port, String url, String user, String password, List<NameValuePair> params) { String rawResponse = null;// w w w . ja v a 2s . c o m try { HttpHost target = new HttpHost(hostname, Integer.parseInt(port), "http"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials(user, password)); CloseableHttpClient httpClient = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider) .build(); try { // Adding the Basic Authentication data to the context for this command AuthCache authCache = new BasicAuthCache(); BasicScheme basicAuth = new BasicScheme(); authCache.put(target, basicAuth); HttpClientContext localContext = HttpClientContext.create(); localContext.setAuthCache(authCache); // Composing the root URL for all subsequent requests URIBuilder uribuilder = new URIBuilder(); uribuilder.setScheme("http").setHost(hostname).setPort(Integer.parseInt(port)).setPath(url); // Adding the params if (params != null) for (NameValuePair nvp : params) { uribuilder.setParameter(nvp.getName(), nvp.getValue()); } URI uri = uribuilder.build(); logger.debug("Getting request at " + uri.toString()); HttpGet httpget = new HttpGet(uri); CloseableHttpResponse response = httpClient.execute(httpget, localContext); if (response.getStatusLine().getStatusCode() == 200) { try { rawResponse = EntityUtils.toString(response.getEntity(), "UTF-8"); } catch (Exception ex) { logger.error(ex.getMessage()); } finally { response.close(); } } else { logger.debug("GET return code: " + response.getStatusLine().getStatusCode()); } } catch (Exception ex) { logger.error(ex.getMessage()); } finally { httpClient.close(); } } catch (IOException e) { e.printStackTrace(); } return rawResponse; }
From source file:org.apache.hadoop.gateway.GatewayFuncTestDriver.java
public String oozieSubmitJob(String user, String password, String request, int status) throws IOException, URISyntaxException { getMock("OOZIE").expect().method("POST").pathInfo("/v1/jobs").respond().status(HttpStatus.SC_CREATED) .content(getResourceBytes("oozie-jobs-submit-response.json")).contentType("application/json"); //System.out.println( "REQUEST LENGTH = " + request.length() ); URL url = new URL(getUrl("OOZIE") + "/v1/jobs?action=start" + (isUseGateway() ? "" : "&user.name=" + user)); HttpHost targetHost = new HttpHost(url.getHost(), url.getPort(), url.getProtocol()); DefaultHttpClient client = new DefaultHttpClient(); client.getCredentialsProvider().setCredentials(new AuthScope(targetHost), new UsernamePasswordCredentials(user, password)); // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(targetHost, basicAuth); // Add AuthCache to the execution context BasicHttpContext localContext = new BasicHttpContext(); localContext.setAttribute(ClientContext.AUTH_CACHE, authCache); HttpPost post = new HttpPost(url.toURI()); // post.getParams().setParameter( "action", "start" ); StringEntity entity = new StringEntity(request, ContentType.create("application/xml", "UTF-8")); post.setEntity(entity);/*from www .j ava2 s. co m*/ post.setHeader("X-XSRF-Header", "ksdjfhdsjkfhds"); HttpResponse response = client.execute(targetHost, post, localContext); assertThat(response.getStatusLine().getStatusCode(), is(status)); String json = EntityUtils.toString(response.getEntity()); // String json = given() // .log().all() // .auth().preemptive().basic( user, password ) // .queryParam( "action", "start" ) // .contentType( "application/xml;charset=UTF-8" ) // .content( request ) // .expect() // .log().all() // .statusCode( status ) // .when().post( getUrl( "OOZIE" ) + "/v1/jobs" + ( isUseGateway() ? "" : "?user.name=" + user ) ).asString(); //System.out.println( "JSON=" + json ); String id = from(json).getString("id"); return id; }
From source file:org.apache.hadoop.gateway.GatewayFuncTestDriver.java
public String oozieQueryJobStatus(String user, String password, String id, int status) throws Exception { getMock("OOZIE").expect().method("GET").pathInfo("/v1/job/" + id).respond().status(HttpStatus.SC_OK) .content(getResourceBytes("oozie-job-show-info.json")).contentType("application/json"); //NOTE: For some reason REST-assured doesn't like this and ends up failing with Content-Length issues. URL url = new URL(getUrl("OOZIE") + "/v1/job/" + id + (isUseGateway() ? "" : "?user.name=" + user)); HttpHost targetHost = new HttpHost(url.getHost(), url.getPort(), url.getProtocol()); DefaultHttpClient client = new DefaultHttpClient(); client.getCredentialsProvider().setCredentials(new AuthScope(targetHost), new UsernamePasswordCredentials(user, password)); // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(targetHost, basicAuth); // Add AuthCache to the execution context BasicHttpContext localContext = new BasicHttpContext(); localContext.setAttribute(ClientContext.AUTH_CACHE, authCache); HttpGet request = new HttpGet(url.toURI()); request.setHeader("X-XSRF-Header", "ksdhfjkhdsjkf"); HttpResponse response = client.execute(targetHost, request, localContext); assertThat(response.getStatusLine().getStatusCode(), is(status)); String json = EntityUtils.toString(response.getEntity()); String jobStatus = from(json).getString("status"); return jobStatus; }
From source file:org.apache.hive.ptest.execution.JIRAService.java
void publishComments(String comments) { DefaultHttpClient httpClient = new DefaultHttpClient(); try {//from w w w. ja v a 2s .c o m String url = String.format("%s/rest/api/2/issue/%s/comment", mUrl, mName); URL apiURL = new URL(mUrl); httpClient.getCredentialsProvider().setCredentials( new AuthScope(apiURL.getHost(), apiURL.getPort(), AuthScope.ANY_REALM), new UsernamePasswordCredentials(mUser, mPassword)); BasicHttpContext localcontext = new BasicHttpContext(); localcontext.setAttribute("preemptive-auth", new BasicScheme()); httpClient.addRequestInterceptor(new PreemptiveAuth(), 0); HttpPost request = new HttpPost(url); ObjectMapper mapper = new ObjectMapper(); StringEntity params = new StringEntity(mapper.writeValueAsString(new Body(comments))); request.addHeader("Content-Type", "application/json"); request.setEntity(params); HttpResponse httpResponse = httpClient.execute(request, localcontext); StatusLine statusLine = httpResponse.getStatusLine(); if (statusLine.getStatusCode() != 201) { throw new RuntimeException(statusLine.getStatusCode() + " " + statusLine.getReasonPhrase()); } mLogger.info("JIRA Response Metadata: " + httpResponse); } catch (Exception e) { mLogger.error("Encountered error attempting to post comment to " + mName, e); } finally { httpClient.getConnectionManager().shutdown(); } }
From source file:org.apache.http.impl.auth.TestBasicScheme.java
@Test(expected = MalformedChallengeException.class) public void testBasicAuthenticationWithNoRealm() throws Exception { final String challenge = "Basic"; final Header header = new BasicHeader(AUTH.WWW_AUTH, challenge); final AuthScheme authscheme = new BasicScheme(); authscheme.processChallenge(header); }
From source file:org.apache.http.impl.auth.TestBasicScheme.java
@Test public void testBasicAuthentication() throws Exception { final UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass"); final Header challenge = new BasicHeader(AUTH.WWW_AUTH, "Basic realm=\"test\""); final BasicScheme authscheme = new BasicScheme(); authscheme.processChallenge(challenge); final HttpRequest request = new BasicHttpRequest("GET", "/"); final HttpContext context = new BasicHttpContext(); final Header authResponse = authscheme.authenticate(creds, request, context); final String expected = "Basic " + EncodingUtils .getAsciiString(Base64.encodeBase64(EncodingUtils.getAsciiBytes("testuser:testpass"))); Assert.assertEquals(AUTH.WWW_AUTH_RESP, authResponse.getName()); Assert.assertEquals(expected, authResponse.getValue()); Assert.assertEquals("test", authscheme.getRealm()); Assert.assertTrue(authscheme.isComplete()); Assert.assertFalse(authscheme.isConnectionBased()); }
From source file:org.apache.http.impl.auth.TestBasicScheme.java
@Test public void testBasicProxyAuthentication() throws Exception { final UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass"); final Header challenge = new BasicHeader(AUTH.PROXY_AUTH, "Basic realm=\"test\""); final BasicScheme authscheme = new BasicScheme(); authscheme.processChallenge(challenge); final HttpRequest request = new BasicHttpRequest("GET", "/"); final HttpContext context = new BasicHttpContext(); final Header authResponse = authscheme.authenticate(creds, request, context); final String expected = "Basic " + EncodingUtils .getAsciiString(Base64.encodeBase64(EncodingUtils.getAsciiBytes("testuser:testpass"))); Assert.assertEquals(AUTH.PROXY_AUTH_RESP, authResponse.getName()); Assert.assertEquals(expected, authResponse.getValue()); Assert.assertEquals("test", authscheme.getRealm()); Assert.assertTrue(authscheme.isComplete()); Assert.assertFalse(authscheme.isConnectionBased()); }