List of usage examples for com.google.gwt.http.client RequestBuilder POST
Method POST
To view the source code for com.google.gwt.http.client RequestBuilder POST.
Click Source Link
From source file:com.kludgenics.dcpu16.compiler.client.CompileService.java
License:Apache License
public static void compile(String compiler, String filename, String body, RequestCallback callback) throws RequestException { JSONObject requestData = new JSONObject(); requestData.put("filename", new JSONString(filename)); requestData.put("contents", new JSONString(body)); // Send request to server and catch any errors. RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, COMPILE_URL); builder.sendRequest(requestData.toString(), callback); }
From source file:com.mallentechinc.smartwire.client.SmartWireWeb.java
License:Open Source License
protected void getAllCircuitsByUser(String userName) { String url = SUBSYSTEM_JSON_URL + "getAllCircuitsByUser.do?"; url = URL.encode(url);//from w w w . ja va 2s . c om // Send request to server and catch any errors. RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url); try { builder.setHeader("Content-Type", "application/json"); String requestDate = "{\"userName\":\"jxu\"}"; Request request = builder.sendRequest(requestDate, new RequestCallback() { public void onError(Request request, Throwable exception) { displayError("Couldn't retrieve JSON"); } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { updateUserCircuitTable(asArrayOfCircuitData(response.getText())); } else { displayError("Couldn't retrieve JSON (" + response.getStatusText() + ")"); } } }); } catch (RequestException e) { displayError("Couldn't retrieve JSON"); } }
From source file:com.mallentechinc.smartwire.client.SmartWireWeb.java
License:Open Source License
protected void saveUpdateUser(String requestData) { String url = USER_JSON_URL + "saveUpdateUser.do?"; url = URL.encode(url);// ww w. j a va 2 s. c o m // Send request to server and catch any errors. RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url); try { builder.setHeader("Content-Type", "application/json"); System.out.println("RequestData-->" + requestData); Request request = builder.sendRequest(requestData, new RequestCallback() { public void onError(Request request, Throwable exception) { displayError("Couldn't retrieve JSON"); } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { //reset firstName.setText(""); lastName.setText(""); email.setText(""); passWord.setText(""); userName.setText(""); getAllUsers(); deckPanel.showWidget(1); } else { displayError("Couldn't retrieve JSON (" + response.getStatusText() + ")"); } } }); } catch (RequestException e) { e.printStackTrace(); displayError("Couldn't retrieve JSON"); } }
From source file:com.mallentechinc.smartwire.client.SmartWireWeb.java
License:Open Source License
protected void deleteUser(String requestData) { String url = USER_JSON_URL + "deleteUser.do?"; url = URL.encode(url);/*from ww w . ja va2 s . c o m*/ // Send request to server and catch any errors. RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url); try { builder.setHeader("Content-Type", "application/json"); System.out.println("RequestData-->" + requestData); Request request = builder.sendRequest(requestData, new RequestCallback() { public void onError(Request request, Throwable exception) { displayError("Couldn't retrieve JSON"); } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { getAllUsers(); deckPanel.showWidget(1); } else { displayError("Couldn't retrieve JSON (" + response.getStatusText() + ")"); } } }); } catch (RequestException e) { e.printStackTrace(); displayError("Couldn't retrieve JSON"); } }
From source file:com.milmaps.client.MapTouchController.java
License:Open Source License
private void sendReport(String name, final GeodeticCoords gc) { RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "/pli-service/rs/sender/sendReportGeo"); String report = "<report name=\"" + name + "\" ip=\"127.0.0.1\" port=\"10011\" mcastIface=\"\" lat=\"" + gc.latitude().degrees() + "\" lon=\"" + gc.longitude().degrees() + "\"/>"; try {/*from www . ja v a 2 s.c om*/ builder.sendRequest(report, new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { m_mapView.fullUpdateView(); } @Override public void onError(Request request, Throwable exception) { } }); } catch (RequestException ex) { Window.alert("fail"); Logger.getLogger(MapTouchController.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.milmaps.client.MobileEntryPoint.java
License:Open Source License
private void sendReport(double lat, double lon) { RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "/pli-service/rs/sender/sendReportGeo"); String report = "<report name=\"Me\" ip=\"127.0.0.1\" port=\"10011\" mcastIface=\"\" lat=\"" + lat + "\" lon=\"" + lon + "\"/>"; try {/*w ww.ja v a 2s .c om*/ builder.sendRequest(report, new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { m_mapView.fullUpdateView(); } @Override public void onError(Request request, Throwable exception) { } }); } catch (RequestException ex) { Window.alert("fail"); Logger.getLogger(MapTouchController.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.oracle.wci.user.registration.client.AsyncCall.java
License:Apache License
/** * Do post information via AJAX call to the server. * /*from www . j av a2s . c o m*/ * @param url * @param requestData */ public static void doPost(String url, String requestData) { RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url); try { builder.setTimeoutMillis(MAX_TIMEOUT); // Request response = builder.sendRequest(requestData, new RequestCallback() { public void onResponseReceived(Request request, Response response) { } public void onError(Request request, Throwable exception) { if (exception instanceof RequestTimeoutException) { Window.alert(((RequestTimeoutException) exception).getMessage()); } else { Window.alert(exception.getMessage()); } } }); } catch (com.google.gwt.http.client.RequestException e) { Window.alert("Unable to send the request: " + e.getMessage()); } }
From source file:com.robustaweb.library.gwt.GwtRestClient.java
License:Apache License
/** * {@inheritDoc }//from w w w . ja v a 2 s . co m */ @Override protected void executeMethod(HttpMethod method, String url, String requestBody, Callback callback) throws HttpException { try { RequestBuilder.Method meth = null; switch (method) { case GET: meth = RequestBuilder.GET; break; case POST: meth = RequestBuilder.POST; break; case DELETE: meth = RequestBuilder.DELETE; break; case PUT: meth = RequestBuilder.PUT; break; default: throw new IllegalStateException("No method valid for : " + method); } this.builder = new RequestBuilder(meth, url); if (this.contentType != null && !this.contentType.isEmpty()) { this.builder.setHeader("Content-Type", this.contentType); } if (GwtRestClient.authorizationValue != null && GwtRestClient.authorizationValue.length() > 0) { this.builder.setHeader("Authorization", GwtRestClient.authorizationValue); } RestRequestCallback cb = new RestRequestCallback(callback); this.builder.sendRequest(this.requestBody, cb); } catch (Exception ex) { callback.onException(ex); } finally { clean(); } }
From source file:com.smartgwt.mobile.client.data.DataSource.java
License:Open Source License
private static RequestBuilder.Method getHttpMethod(String methodName) { if (methodName == null) return null; if ("DELETE".equals(methodName)) return RequestBuilder.DELETE; else if ("GET".equals(methodName)) return RequestBuilder.GET; else if ("HEAD".equals(methodName)) return RequestBuilder.HEAD; else if ("POST".equals(methodName)) return RequestBuilder.POST; else if ("PUT".equals(methodName)) return RequestBuilder.PUT; return null;/*from w ww . j a v a 2s . c om*/ }
From source file:com.smartgwt.mobile.client.data.DataSource.java
License:Open Source License
@SGWTInternal protected void _sendGWTRequest(DSRequest dsRequest) { final int transactionNum = com.smartgwt.mobile.client.rpc.RPCManager._getNextTransactionNum(); dsRequest._setTransactionNum(transactionNum); // For the time being, the request ID and transactionNum are the same. dsRequest.setRequestId(Integer.toString(transactionNum)); final boolean strictJSON = Canvas._booleanValue(getStrictJSON(), false); final DSOperationType opType = dsRequest.getOperationType(); final OperationBinding opBinding = getOperationBinding(dsRequest); final DSDataFormat dataFormat; if (opBinding == null) dataFormat = DSDataFormat.JSON;//from w ww . j av a2s . c o m else if (opBinding.getDataFormat() != null) dataFormat = opBinding.getDataFormat(); else dataFormat = DSDataFormat.JSON; assert dataFormat != null; DSProtocol protocol; if (opBinding != null && opBinding.getDataProtocol() != null) { protocol = opBinding.getDataProtocol(); } else { protocol = getDataProtocol(); if (protocol == null) { protocol = (opType == null || opType == DSOperationType.FETCH) ? null : DSProtocol.POSTMESSAGE; } } final Object originalData = dsRequest.getData(); Object transformedData; switch (protocol == null ? DSProtocol.GETPARAMS : protocol) { case GETPARAMS: case POSTPARAMS: transformedData = transformRequest(dsRequest); if (transformedData == null) transformedData = Collections.EMPTY_MAP; else if (!(transformedData instanceof Map)) { // TODO Issue a warning. transformedData = Collections.EMPTY_MAP; } break; case POSTMESSAGE: transformedData = transformRequest(dsRequest); if (!(transformedData instanceof String)) { if (dataFormat != DSDataFormat.JSON) { throw new UnsupportedOperationException( "Only serialization of DSRequests in JSON format is supported."); } transformedData = dsRequest._serialize(strictJSON); if (dsRequest.getContentType() == null) { // For best interoperability with ASP.NET AJAX services, send Content-Type:application/json. // http://weblogs.asp.net/scottgu/archive/2007/04/04/json-hijacking-and-how-asp-net-ajax-1-0-mitigates-these-attacks.aspx dsRequest.setContentType("application/json;charset=UTF-8"); } } break; default: assert protocol != null; throw new UnsupportedOperationException( "In transforming the DSRequest, failed to handle case: protocol:" + protocol.getValue()); } if (transformedData != dsRequest) { dsRequest.setData(transformedData); } dsRequest.setOriginalData(originalData); if (dsRequest.getDataSource() == null) dsRequest.setDataSource(getID()); final DSRequest finalDSRequest = dsRequest; assert finalDSRequest.getOperationType() == opType; if (protocol == null) { assert opType == DSOperationType.FETCH; if (transformedData == null || (transformedData instanceof Map && ((Map<?, ?>) transformedData).isEmpty())) { protocol = DSProtocol.GETPARAMS; } else { protocol = DSProtocol.POSTMESSAGE; transformedData = dsRequest._serialize(strictJSON); if (dsRequest.getContentType() == null) { dsRequest.setContentType("application/json;charset=UTF-8"); } } } URIBuilder workBuilder; { String work = finalDSRequest.getDataURL(); if (work == null) { if (opType != null) { switch (opType) { case FETCH: work = getFetchDataURL(); break; case ADD: work = getAddDataURL(); break; case UPDATE: work = getUpdateDataURL(); break; case REMOVE: work = getRemoveDataURL(); break; case VALIDATE: work = getValidateDataURL(); break; case CUSTOM: work = getCustomDataURL(); break; } } // common url if (work == null) { work = getDataURL(); // construct default url if (work == null) { work = RPCManager.getActionURL(); if (work.endsWith("/")) { work = work.substring(0, work.length() - 1); } } } } workBuilder = new URIBuilder(work); } // build up the query string final DateTimeFormat datetimeFormat = finalDSRequest._getDatetimeFormat(); { Map<String, Object> params = finalDSRequest.getParams(); if (protocol == DSProtocol.GETPARAMS || protocol == DSProtocol.POSTPARAMS) { if (params == null) params = new LinkedHashMap<String, Object>(); if (protocol == DSProtocol.GETPARAMS) { assert transformedData instanceof Map; @SuppressWarnings("unchecked") final Map<String, Object> m = (Map<String, Object>) transformedData; params.putAll(m); } if (getSendMetaData()) { String metaDataPrefix = getMetaDataPrefix(); if (metaDataPrefix == null) metaDataPrefix = "_"; params.put(metaDataPrefix + "operationType", opType); params.put(metaDataPrefix + "operationId", finalDSRequest.getOperationId()); params.put(metaDataPrefix + "startRow", finalDSRequest.getStartRow()); params.put(metaDataPrefix + "endRow", finalDSRequest.getEndRow()); params.put(metaDataPrefix + "sortBy", finalDSRequest._getSortByString()); params.put(metaDataPrefix + "useStrictJSON", Boolean.TRUE); params.put(metaDataPrefix + "textMatchStyle", finalDSRequest.getTextMatchStyle()); params.put(metaDataPrefix + "oldValues", finalDSRequest.getOldValues()); params.put(metaDataPrefix + "componentId", finalDSRequest.getComponentId()); params.put(metaDataPrefix + "dataSource", dsRequest.getDataSource()); params.put("isc_metaDataPrefix", metaDataPrefix); } params.put("isc_dataFormat", dataFormat.getValue()); } if (params != null) { for (final Map.Entry<String, Object> e : params.entrySet()) { workBuilder.setQueryParam(e.getKey(), e.getValue(), strictJSON, false, datetimeFormat); } } } // automatically add the data format even to user-provided dataURLs unless they contain the param already if (!workBuilder.containsQueryParam("isc_dataFormat")) { workBuilder.appendQueryParam("isc_dataFormat", dataFormat.getValue()); } if (protocol == DSProtocol.POSTPARAMS) { assert transformedData instanceof Map; @SuppressWarnings("unchecked") final Map<String, Object> m = (Map<String, Object>) transformedData; String requestContentType = finalDSRequest.getContentType(); if (requestContentType != null) requestContentType = requestContentType.trim(); if (requestContentType == null || requestContentType.startsWith("application/x-www-form-urlencoded")) { URIBuilder postBodyBuilder = new URIBuilder(""); for (final Map.Entry<String, Object> e : m.entrySet()) { postBodyBuilder.setQueryParam(e.getKey(), e.getValue(), strictJSON, false, datetimeFormat); } // Exclude the '?'. transformedData = postBodyBuilder.toString().substring(1); } //else if (requestContentType.startsWith("multipart/form-data")) {} // TODO else { throw new IllegalArgumentException( "Request content type '" + requestContentType + "' is not supported."); } } RequestBuilder.Method httpMethod = getHttpMethod(finalDSRequest.getHttpMethod()); if (httpMethod == null) { if (protocol == DSProtocol.GETPARAMS) httpMethod = RequestBuilder.GET; else if (protocol == DSProtocol.POSTPARAMS || protocol == DSProtocol.POSTMESSAGE) { httpMethod = RequestBuilder.POST; } else { if (opType == null || opType == DSOperationType.FETCH) { httpMethod = RequestBuilder.GET; } else { httpMethod = RequestBuilder.POST; } } } else if (httpMethod == RequestBuilder.GET) { if (protocol == DSProtocol.POSTPARAMS || //protocol == DSProtocol.POSTXML protocol == DSProtocol.POSTMESSAGE) { // TODO Warn that GET requests do not support bodies. httpMethod = RequestBuilder.POST; } } String requestContentType = finalDSRequest.getContentType(); if (requestContentType != null) { if (httpMethod == RequestBuilder.GET) { // TODO Warn that GET requests do not support bodies. requestContentType = null; } } else { if (protocol == DSProtocol.POSTPARAMS) requestContentType = "application/x-www-form-urlencoded"; //else if (protocol == DSProtocol.POSTXML) requestContentType = "text/xml"; } final RequestBuilder rb = new RequestBuilder(httpMethod, workBuilder.toString()); final Integer timeoutMillis = finalDSRequest.getTimeout(); rb.setTimeoutMillis(timeoutMillis == null ? RPCManager._getDefaultTimeoutMillis() : Math.max(1, timeoutMillis.intValue())); final String authorization = finalDSRequest.getAuthorization(); if (authorization != null) rb.setHeader("Authorization", authorization); final Map<String, String> httpHeaders = finalDSRequest.getHttpHeaders(); if (httpHeaders != null) { for (Map.Entry<String, String> entry : httpHeaders.entrySet()) { rb.setHeader(entry.getKey(), entry.getValue()); } } if (dataFormat == DSDataFormat.XML) { rb.setHeader("Accept", "application/xml,text/xml,*/*"); } else if (dataFormat == DSDataFormat.JSON) { rb.setHeader("Accept", "application/json,*/*"); } if (requestContentType != null) { rb.setHeader("Content-Type", requestContentType); } if (httpMethod != RequestBuilder.GET) { switch (protocol) { case POSTPARAMS: // `transformedData` has already been created and is now a String. case POSTMESSAGE: rb.setRequestData((String) transformedData); break; case GETPARAMS: // Already handled earlier when the query params were appended to `workBuilder'. break; default: throw new UnsupportedOperationException( "In setting the request data, failed to handle case protocol:" + protocol); } } rb.setCallback(new RequestCallback() { @Override public void onError(Request request, Throwable exception) { final DSResponse dsResponse = new DSResponse(finalDSRequest); final int status; if (exception instanceof RequestTimeoutException) status = RPCResponse.STATUS_SERVER_TIMEOUT; else status = RPCResponse.STATUS_FAILURE; dsResponse.setStatus(status); onError(dsResponse); } private void onError(DSResponse dsResponse) { final DSRequest dsRequest = finalDSRequest; final boolean errorEventCancelled = ErrorEvent._fire(DataSource.this, dsRequest, dsResponse); if (!errorEventCancelled) RPCManager._handleError(dsResponse, dsRequest); } @Override public void onResponseReceived(Request request, Response response) { assert response != null; String responseText = response.getText(); if (responseText == null) responseText = ""; assert responseText != null; int httpResponseCode = response.getStatusCode(); final HTTPHeadersMap responseHTTPHeaders = new HTTPHeadersMap(); for (final Header h : response.getHeaders()) { if (h != null) { responseHTTPHeaders.put(h.getName(), h.getValue()); } } int status = 0; if (0 == httpResponseCode || // file:// requests (e.g. if Showcase is packaged with PhoneGap.) (200 <= httpResponseCode && httpResponseCode < 300) || httpResponseCode == 304) // 304 Not Modified { status = RPCResponse.STATUS_SUCCESS; } else { status = RPCResponse.STATUS_FAILURE; final DSResponse errorResponse = new DSResponse(finalDSRequest); errorResponse.setStatus(RPCResponse.STATUS_FAILURE); errorResponse.setHttpResponseCode(httpResponseCode); errorResponse._setHttpHeaders(responseHTTPHeaders); onError(errorResponse); return; } Object rawResponse; final DSResponse dsResponse; String origResponseContentType = responseHTTPHeaders.get("Content-Type"); if (origResponseContentType == null || (origResponseContentType = origResponseContentType.trim()).length() == 0) { origResponseContentType = "application/octet-stream"; } String responseContentType = origResponseContentType; // remove the media type parameter if present // http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7 final int semicolonPos = responseContentType.indexOf(';'); if (semicolonPos != -1) { responseContentType = responseContentType.substring(0, semicolonPos).trim(); if (responseContentType.length() == 0) responseContentType = "application/octet-stream"; } if (dataFormat == DSDataFormat.CUSTOM) { rawResponse = responseText; dsResponse = new DSResponse(finalDSRequest, status); dsResponse.setHttpResponseCode(httpResponseCode); dsResponse._setHttpHeaders(responseHTTPHeaders); dsResponse.setContentType(origResponseContentType); transformResponse(dsResponse, finalDSRequest, responseText); } else { if (dataFormat == DSDataFormat.XML) { final Element rootEl; if (responseText.isEmpty()) { rawResponse = rootEl = null; dsResponse = new DSResponse(finalDSRequest, status); } else { final Document document; try { document = XMLParser.parse(responseText); } catch (DOMParseException ex) { onError(request, ex); return; } rootEl = document.getDocumentElement(); rawResponse = rootEl; dsResponse = new DSResponse(finalDSRequest, status, rootEl); String dataTagName, recordName; if (opBinding == null) { dataTagName = _getDataTagName(); recordName = null; } else { dataTagName = opBinding._getDataTagName(_getDataTagName()); recordName = opBinding.getRecordName(); } if (recordName == null) recordName = _getRecordName(); final Element dataEl = extractDataElement(rootEl, dataTagName); final List<Element> recordNodes = extractRecordElements(dataEl, recordName); if (recordNodes != null && !recordNodes.isEmpty()) { final RecordList records = extractRecordList(recordNodes); dsResponse.setData(records); } else if (rootEl.equals(dataEl)) { dsResponse._setData(XMLUtil.getTextContent(dataEl)); } } dsResponse.setHttpResponseCode(httpResponseCode); dsResponse._setHttpHeaders(responseHTTPHeaders); transformResponse(dsResponse, finalDSRequest, rootEl); } else { String jsonPrefix = getJsonPrefix(); if (jsonPrefix == null) jsonPrefix = ""; String jsonSuffix = getJsonSuffix(); if (jsonSuffix == null) jsonSuffix = ""; // auto-detect default wrapper text returned by RestHandler if (responseText.startsWith(jsonPrefix) && responseText.endsWith(jsonSuffix)) { responseText = responseText.substring(jsonPrefix.length(), responseText.length() - jsonSuffix.length()); responseContentType = "application/json"; } if (dataFormat == DSDataFormat.JSON) { if (responseText.isEmpty()) { rawResponse = null; dsResponse = new DSResponse(finalDSRequest, status); } else { JSONObject responseObj; try { responseObj = JSONParser.parseLenient(responseText).isObject(); } catch (JSONException ex) { onError(request, ex); return; } if (responseObj != null && responseObj.containsKey("response")) { JSONValue val = responseObj.get("response"); responseObj = (val == null ? null : val.isObject()); } rawResponse = responseObj; dsResponse = new DSResponse(finalDSRequest, status, responseObj); if (responseObj != null && responseObj.containsKey("data")) { final JSONValue dataVal = responseObj.get("data"); assert dataVal != null; final JSONString dataStr = dataVal.isString(); if (dataStr != null) { dsResponse._setData(dataStr.stringValue()); } else { JSONArray dataArr = dataVal.isArray(); if (dataArr == null) { JSONObject datumObj = dataVal.isObject(); if (datumObj != null) { dataArr = new JSONArray(); dataArr.set(0, datumObj); } } if (dataArr != null) { final RecordList records = extractRecordList(dataArr); dsResponse.setData(records); } } } } dsResponse.setHttpResponseCode(httpResponseCode); dsResponse._setHttpHeaders(responseHTTPHeaders); transformResponse(dsResponse, finalDSRequest, rawResponse); } else { throw new UnsupportedOperationException("Unhandled dataFormat:" + dataFormat); } } } if (dsResponse.getInvalidateCache()) { //invalidateDataSourceDataChangedHandlers(finalDSRequest, dsResponse); } status = dsResponse.getStatus(); if (status >= 0) { DSDataChangedEvent.fire(DataSource.this, dsResponse, finalDSRequest); } else { // Unless it was a validation error, or the request specified willHandleError, // go through centralized error handling (if alerting the failure string // can be dignified with such a name!) if (status != -4 && !finalDSRequest._getWillHandleError()) { onError(dsResponse); return; } } // fireResponseCallbacks final DSCallback callback = finalDSRequest.getCallback(), afterFlowCallback = finalDSRequest._getAfterFlowCallback(); if (callback != null) { callback.execute(dsResponse, rawResponse, finalDSRequest); } if (afterFlowCallback != null && afterFlowCallback != callback) { afterFlowCallback.execute(dsResponse, rawResponse, finalDSRequest); } } }); try { rb.send(); } catch (RequestException re) { re.printStackTrace(); } ++_numDSRequestsSent; }