List of usage examples for org.apache.http.client.utils URLEncodedUtils format
public static String format(final Iterable<? extends NameValuePair> parameters, final Charset charset)
From source file:com.senseidb.servlet.AbstractSenseiClientServlet.java
private void handleSenseiRequest(HttpServletRequest req, HttpServletResponse resp, Broker<SenseiRequest, SenseiResult> broker) throws ServletException, IOException { long time = System.currentTimeMillis(); int numHits = 0, totalDocs = 0; String query = null;/* w ww . jav a2 s. c o m*/ SenseiRequest senseiReq = null; try { JSONObject jsonObj = null; String content = null; if ("post".equalsIgnoreCase(req.getMethod())) { BufferedReader reader = req.getReader(); content = readContent(reader); if (content == null || content.length() == 0) content = "{}"; try { jsonObj = new JSONObject(content); } catch (JSONException jse) { String contentType = req.getHeader("Content-Type"); if (contentType != null && contentType.indexOf("json") >= 0) { logger.error("JSON parsing error", jse); writeEmptyResponse(req, resp, new SenseiError(jse.getMessage(), ErrorType.JsonParsingError)); return; } logger.warn("Old client or json error", jse); // Fall back to the old REST API. In the future, we should // consider reporting JSON exceptions here. senseiReq = DefaultSenseiJSONServlet.convertSenseiRequest( new DataConfiguration(new MapConfiguration(getParameters(content)))); query = content; } } else { content = req.getParameter("json"); if (content != null) { if (content.length() == 0) content = "{}"; try { jsonObj = new JSONObject(content); } catch (JSONException jse) { logger.error("JSON parsing error", jse); writeEmptyResponse(req, resp, new SenseiError(jse.getMessage(), ErrorType.JsonParsingError)); return; } } else { senseiReq = buildSenseiRequest(req); query = URLEncodedUtils.format(HttpRestSenseiServiceImpl.convertRequestToQueryParams(senseiReq), "UTF-8"); } } if (jsonObj != null) { String bqlStmt = jsonObj.optString(BQL_STMT); JSONObject templatesJson = jsonObj.optJSONObject(JsonTemplateProcessor.TEMPLATE_MAPPING_PARAM); JSONObject compiledJson = null; if (bqlStmt.length() > 0) { try { if (jsonObj.length() == 1) query = "bql=" + bqlStmt; else query = "json=" + content; compiledJson = _compiler.compile(bqlStmt); } catch (RecognitionException e) { String errMsg = _compiler.getErrorMessage(e); if (errMsg == null) { errMsg = "Unknown parsing error."; } logger.error("BQL parsing error: " + errMsg + ", BQL: " + bqlStmt); writeEmptyResponse(req, resp, new SenseiError(errMsg, ErrorType.BQLParsingError)); return; } // Handle extra BQL filter if it exists String extraFilter = jsonObj.optString(BQL_EXTRA_FILTER); JSONObject predObj = null; if (extraFilter.length() > 0) { String bql2 = "SELECT * WHERE " + extraFilter; try { predObj = _compiler.compile(bql2); } catch (RecognitionException e) { String errMsg = _compiler.getErrorMessage(e); if (errMsg == null) { errMsg = "Unknown parsing error."; } logger.error("BQL parsing error for additional preds: " + errMsg + ", BQL: " + bql2); writeEmptyResponse(req, resp, new SenseiError( "BQL parsing error for additional preds: " + errMsg + ", BQL: " + bql2, ErrorType.BQLParsingError)); return; } // Combine filters JSONArray filter_list = new JSONArray(); JSONObject currentFilter = compiledJson.optJSONObject("filter"); if (currentFilter != null) { filter_list.put(currentFilter); } JSONArray selections = predObj.optJSONArray("selections"); if (selections != null) { for (int i = 0; i < selections.length(); ++i) { JSONObject pred = selections.getJSONObject(i); if (pred != null) { filter_list.put(pred); } } } JSONObject additionalFilter = predObj.optJSONObject("filter"); if (additionalFilter != null) { filter_list.put(additionalFilter); } if (filter_list.length() > 1) { compiledJson.put("filter", new JSONObject().put("and", filter_list)); } else if (filter_list.length() == 1) { compiledJson.put("filter", filter_list.get(0)); } } JSONObject metaData = compiledJson.optJSONObject("meta"); if (metaData != null) { JSONArray variables = metaData.optJSONArray("variables"); if (variables != null) { for (int i = 0; i < variables.length(); ++i) { String var = variables.getString(i); if (templatesJson == null || templatesJson.opt(var) == null) { writeEmptyResponse(req, resp, new SenseiError("[line:0, col:0] Variable " + var + " is not found.", ErrorType.BQLParsingError)); return; } } } } } else { // This is NOT a BQL statement query = "json=" + content; compiledJson = jsonObj; } if (templatesJson != null) { compiledJson.put(JsonTemplateProcessor.TEMPLATE_MAPPING_PARAM, templatesJson); } senseiReq = SenseiRequest.fromJSON(compiledJson, _facetInfoMap); } SenseiResult res = broker.browse(senseiReq); numHits = res.getNumHits(); totalDocs = res.getTotalDocs(); sendResponse(req, resp, senseiReq, res); } catch (JSONException e) { try { writeEmptyResponse(req, resp, new SenseiError(e.getMessage(), ErrorType.JsonParsingError)); } catch (Exception ex) { throw new ServletException(e); } } catch (Exception e) { try { logger.error(e.getMessage(), e); if (e.getCause() != null && e.getCause() instanceof JSONException) { writeEmptyResponse(req, resp, new SenseiError(e.getMessage(), ErrorType.JsonParsingError)); } else { writeEmptyResponse(req, resp, new SenseiError(e.getMessage(), ErrorType.InternalError)); } } catch (Exception ex) { throw new ServletException(e); } } finally { if (queryLogger.isInfoEnabled() && query != null) { queryLogger.info(String.format("hits(%d/%d) took %dms: %s", numHits, totalDocs, System.currentTimeMillis() - time, query)); } } }
From source file:com.rackspacecloud.client.service_registry.clients.BaseClient.java
protected ClientResponse performRequest(String path, List<NameValuePair> params, HttpRequestBase method, boolean parseAsJson, Type responseType, boolean reAuthenticate, int retryCount) throws Exception { int statusCode; this.authClient.refreshToken(reAuthenticate); String url = (this.apiUrl + "/" + this.authClient.getAuthToken().getTenant().get("id") + path); if (params != null) { url += "?" + URLEncodedUtils.format(params, "UTF-8"); }//from w ww . j a v a 2 s . c om method.setURI(new URI(url)); method.setHeader("User-Agent", Client.VERSION); method.setHeader("X-Auth-Token", this.authClient.getAuthToken().getId()); HttpResponse response = this.client.execute(method); statusCode = response.getStatusLine().getStatusCode(); if ((statusCode == 401) && (retryCount < MAX_401_RETRIES)) { retryCount++; logger.info("API server returned 401, re-authenticating and re-trying the request"); return this.performRequest(path, params, method, parseAsJson, responseType, true, retryCount); } return new ClientResponse(response, parseAsJson, responseType); }
From source file:com.greenline.guahao.biz.manager.partners.xm.impl.XmManagerImpl.java
/** * ?api/* www . j a va2 s . c om*/ * * @param lrd * @param req * @return */ private XmResponseDO callXmApi(LocalResponseDO<Object> lrd, XmRequestDO req, String logObjName) { XmResponseDO result = null; try { List<Header> headers = new ArrayList<Header>(); List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("clientId", XmConstants.APP_ID)); params.add(new BasicNameValuePair("token", req.getToken())); String nonce = XMUtil.generateNonce(); String qs = URLEncodedUtils.format(params, "UTF-8"); String mac = XMUtil.getMacAccessTokenSignatureString(nonce, "GET", XmConstants.HOST_XM_API, req.getUri(), qs, req.getMacKey(), req.getMacAlgorithm()); Header macHeader = XMUtil.buildMacRequestHead(req.getToken(), nonce, mac); headers.add(macHeader); XMApiHttpClient client = new XMApiHttpClient(new Long(XmConstants.APP_ID).longValue(), req.getToken(), new XMHttpClient()); JSONObject json = client.apiCall(req.getUri(), params, headers, "GET"); result = jackjson.read(String.valueOf(json), XmResponseDO.class); } catch (Exception e) { String info = String.format(logObjName + "?%s", jackjson.writeString(req)); log.error(info, e); lrd.setResult(LocalResponseCode.LOCAL_EXCEPTION, info, info + "," + e.getMessage()); } return result; }
From source file:de.geeksfactory.opacclient.apis.Zones22.java
@Override public SearchRequestResult search(List<SearchQuery> queries) throws IOException, NotReachableException, OpacErrorException { start();/* www. j a v a2s . c o m*/ List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("Style", "Portal3")); params.add(new BasicNameValuePair("SubStyle", "")); params.add(new BasicNameValuePair("Lang", "GER")); params.add(new BasicNameValuePair("ResponseEncoding", "utf-8")); params.add(new BasicNameValuePair("Method", "QueryWithLimits")); params.add(new BasicNameValuePair("SearchType", "AdvancedSearch")); params.add(new BasicNameValuePair("TargetSearchType", "AdvancedSearch")); params.add(new BasicNameValuePair("DB", "SearchServer")); params.add(new BasicNameValuePair("q.PageSize", "10")); int index = 1; for (SearchQuery query : queries) { index = addParameters(query, params, index); } if (index > 3) { throw new OpacErrorException( stringProvider.getFormattedString(StringProvider.LIMITED_NUM_OF_CRITERIA, 3)); } else if (index == 1) { throw new OpacErrorException(stringProvider.getString(StringProvider.NO_CRITERIA_INPUT)); } String html = httpGet(opac_url + "/" + searchobj + "?" + URLEncodedUtils.format(params, "UTF-8"), getDefaultEncoding()); page = 1; return parse_search(html, page); }
From source file:org.jenkinsci.plugins.GitLabSecurityRealm.java
public HttpResponse doCommenceLogin(StaplerRequest request, @Header("Referer") final String referer) throws IOException { request.getSession().setAttribute(REFERER_ATTRIBUTE, referer); // 2. Requesting authorization : // http://doc.gitlab.com/ce/api/oauth2.html List<NameValuePair> parameters = new ArrayList<NameValuePair>(); parameters.add(new BasicNameValuePair("redirect_uri", buildRedirectUrl(request))); parameters.add(new BasicNameValuePair("response_type", "code")); parameters.add(new BasicNameValuePair("client_id", clientID)); return new HttpRedirect( gitlabWebUri + "/oauth/authorize?" + URLEncodedUtils.format(parameters, StandardCharsets.UTF_8)); }
From source file:com.github.feribg.audiogetter.helpers.Utils.java
/** * Prepare Vimeo search URL/*from www .j a va 2 s.c om*/ * @param query * @param page * @return * @throws URISyntaxException */ public static URI getVimeoSearchURI(String query, Integer page) throws URISyntaxException { List<NameValuePair> qparams = new ArrayList<NameValuePair>(); qparams.add(new BasicNameValuePair("query", query)); qparams.add(new BasicNameValuePair("page", String.valueOf(page))); qparams.add(new BasicNameValuePair("per_page", String.valueOf(Constants.Vimeo.PER_PAGE))); return URIUtils.createURI(Constants.Vimeo.API_SCHEME, Constants.Vimeo.API_HOST, -1, Constants.Vimeo.API_SEARCH, URLEncodedUtils.format(qparams, "UTF-8"), null); }
From source file:io.gs2.notification.Gs2NotificationClient.java
/** * ?????<br>/*w ww. j a va2 s . c om*/ * <br> * * @param request * @return ? */ public DescribeSubscribeResult describeSubscribe(DescribeSubscribeRequest request) { String url = Gs2Constant.ENDPOINT_HOST + "/notification/" + (request.getNotificationName() == null || request.getNotificationName().equals("") ? "null" : request.getNotificationName()) + "/subscribe"; List<NameValuePair> queryString = new ArrayList<>(); if (request.getPageToken() != null) queryString.add(new BasicNameValuePair("pageToken", String.valueOf(request.getPageToken()))); if (request.getLimit() != null) queryString.add(new BasicNameValuePair("limit", String.valueOf(request.getLimit()))); if (queryString.size() > 0) { url += "?" + URLEncodedUtils.format(queryString, "UTF-8"); } HttpGet get = createHttpGet(url, credential, ENDPOINT, DescribeSubscribeRequest.Constant.MODULE, DescribeSubscribeRequest.Constant.FUNCTION); if (request.getRequestId() != null) { get.setHeader("X-GS2-REQUEST-ID", request.getRequestId()); } return doRequest(get, DescribeSubscribeResult.class); }
From source file:iristk.speech.nuancecloud.JSpeexNuanceCloudRecognizerListener.java
private void initRequest() { try {//from ww w . j a va 2 s. co m byteQueue.reset(); encodedQueue.reset(); JSpeexEnc encoder = new JSpeexEnc(16000); encoder.startEncoding(byteQueue, encodedQueue); List<NameValuePair> qparams = new ArrayList<NameValuePair>(); qparams.add(new BasicNameValuePair("appId", APP_ID)); qparams.add(new BasicNameValuePair("appKey", APP_KEY)); qparams.add(new BasicNameValuePair("id", DEVICE_ID)); URI uri = URIUtils.createURI("https", HOSTNAME, 443, SERVLET, URLEncodedUtils.format(qparams, "UTF-8"), null); final HttpPost httppost = new HttpPost(uri); httppost.addHeader("Content-Type", CODEC); httppost.addHeader("Content-Language", LANGUAGE); httppost.addHeader("Accept-Language", LANGUAGE); httppost.addHeader("Accept", RESULTS_FORMAT); httppost.addHeader("Accept-Topic", LM); if (nuanceAudioSource != null) { httppost.addHeader("X-Dictation-AudioSource", nuanceAudioSource.name()); } if (cookie != null) httppost.addHeader("Cookie", cookie); InputStreamEntity reqEntity = new InputStreamEntity(encodedQueue.getInputStream(), -1); reqEntity.setContentType(CODEC); httppost.setEntity(reqEntity); postThread = new PostThread(httppost); } catch (URISyntaxException e) { e.printStackTrace(); } }
From source file:cn.com.dfc.pl.afinal.http.AjaxParams.java
public String getParamString() { return URLEncodedUtils.format(getParamsList(), ENCODING); }
From source file:org.maikelwever.droidpile.backend.ApiConnecter.java
public String postData(ArrayList<NameValuePair> payload, String... data) throws IOException { if (data.length < 1) { throw new IllegalArgumentException("More than 1 argument is required."); }//from ww w . j a va2 s . c om String url = this.baseUrl; String suffix = ""; for (String arg : data) { suffix += "/" + arg; } suffix += "/"; Log.d("droidpile", "URL we will call: " + url + suffix); url += suffix; URL uri = new URL(url); InputStreamReader is; HttpURLConnection con; if (url.startsWith("https")) { con = (HttpsURLConnection) uri.openConnection(); } else { con = (HttpURLConnection) uri.openConnection(); } String urlParameters = URLEncodedUtils.format(payload, ENCODING); con.setDoInput(true); con.setDoOutput(true); con.setInstanceFollowRedirects(false); con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); con.setRequestProperty("charset", ENCODING); con.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes(ENCODING).length)); con.setUseCaches(false); DataOutputStream wr = new DataOutputStream(con.getOutputStream()); wr.writeBytes(urlParameters); wr.flush(); wr.close(); is = new InputStreamReader(con.getInputStream(), ENCODING); StringBuilder sb = new StringBuilder(); BufferedReader br = new BufferedReader(is); String read = br.readLine(); while (read != null) { sb.append(read); read = br.readLine(); } String stringData = sb.toString(); con.disconnect(); return stringData; }