String url = "https://api.parse.com/1/functions/sendEmailNow"; URL obj = new URL(url); //Attempt to use HttpRequest to send post request to parse cloud HttpRequest request = HttpRequest.post(obj).contentType("application/json"); request.header("X-Parse-Application-Id", "**************************"); request.header("X-Parse-REST-API-Key", "********************"); JSONObject jsonParam = new JSONObject(); jsonParam.put("emailId", emailId); request.send(jsonParam.toString().getBytes("UTF8")); if (request.ok()) System.out.println("HttpRequest WORKED"); else System.out.println("HttpRequest FAILED " + request.code() + request.body());
void disassociate(HttpChannel channel) { boolean abort = false; synchronized (this) { if (_channel != channel || requestState != State.TERMINATED || responseState != State.TERMINATED) abort = true; _channel = null; } if (abort) request.abort(new IllegalStateException(toString())); }
private HttpFields getHttpFields() { return super.getHeaders(); } }
@Override public String toString() { return String.format("%s[%s %s %s]@%x", HttpRequest.class.getSimpleName(), getMethod(), getPath(), getVersion(), hashCode()); } }
jettyRequest.onRequestBegin(request -> listener.onRequestBegin()); jettyRequest.onRequestSuccess(request -> listener.onRequestEnd()); jettyRequest.onResponseBegin(response -> listener.onResponseBegin()); jettyRequest.onComplete(result -> listener.onFinish()); jettyRequest.attribute(PLATFORM_STATS_KEY, listener); jettyRequest.method(finalRequest.getMethod()); jettyRequest.header(entry.getKey(), entry.getValue()); if (bodySource instanceof StaticBodyGenerator) { StaticBodyGenerator staticBodyGenerator = (StaticBodyGenerator) bodySource; jettyRequest.content(new BytesContentProvider(staticBodyGenerator.getBody())); bytesWritten.addAndGet(staticBodyGenerator.getBody().length); jettyRequest.content(new InputStreamBodySourceContentProvider((InputStreamBodySource) bodySource, bytesWritten)); jettyRequest.content(new DynamicBodySourceContentProvider((DynamicBodySource) bodySource, bytesWritten)); jettyRequest.followRedirects(finalRequest.isFollowRedirects()); jettyRequest.timeout(requestTimeoutMillis, MILLISECONDS); jettyRequest.idleTimeout(idleTimeoutMillis, MILLISECONDS);
String path = relativize(request.getPath()); HttpURI uri = HttpURI.createHttpURI(request.getScheme(), request.getHost(), request.getPort(), path, null, request.getQuery(), null); MetaData.Request metaData = new MetaData.Request(request.getMethod(), uri, HttpVersion.HTTP_2, request.getHeaders()); Supplier<HttpFields> trailers = request.getTrailers(); metaData.setTrailerSupplier(trailers); HeadersFrame headersFrame = new HeadersFrame(metaData, null, trailers == null && !content.hasContent());
public HeadersCallback(HttpExchange exchange, HttpContent content, Callback callback, HttpConnectionOverHTTP httpConnectionOverHTTP) { super(false); this.exchange = exchange; this.callback = callback; this.httpConnectionOverHTTP = httpConnectionOverHTTP; HttpRequest request = exchange.getRequest(); ContentProvider requestContent = request.getContent(); long contentLength = requestContent == null ? -1 : requestContent.getLength(); String path = request.getPath(); String query = request.getQuery(); if (query != null) path += "?" + query; metaData = new MetaData.Request(request.getMethod(), new HttpURI(path), request.getVersion(), request.getHeaders(), contentLength); metaData.setTrailerSupplier(request.getTrailers()); if (!expects100Continue(request)) { content.advance(); contentBuffer = content.getByteBuffer(); lastContent = content.isLast(); } }
private URI buildURI(boolean withQuery) { String path = getPath(); String query = getQuery(); if (query != null && withQuery) path += "?" + query; URI result = newURI(path); if (result == null) return NULL_URI; if (!result.isAbsolute()) result = URI.create(new Origin(getScheme(), getHost(), getPort()).asString() + path); return result; }
protected Request copyRequest(HttpRequest oldRequest, URI newURI) Request newRequest = newHttpRequest(oldRequest.getConversation(), newURI); newRequest.method(oldRequest.getMethod()) .version(oldRequest.getVersion()) .content(oldRequest.getContent()) .idleTimeout(oldRequest.getIdleTimeout(), TimeUnit.MILLISECONDS) .timeout(oldRequest.getTimeout(), TimeUnit.MILLISECONDS) .followRedirects(oldRequest.isFollowRedirects()); for (HttpField field : oldRequest.getHeaders())
@Override public ContentResponse send() throws InterruptedException, TimeoutException, ExecutionException { FutureResponseListener listener = new FutureResponseListener(this); send(this, listener); long timeout = getTimeout(); if (timeout <= 0) return listener.get(); try { return listener.get(timeout, TimeUnit.MILLISECONDS); } catch (InterruptedException | TimeoutException x) { // Differently from the Future, the semantic of this method is that if // the send() is interrupted or times out, we abort the request. abort(x); throw x; } }
protected HttpRequest(HttpClient client, long conversation, URI uri) { this.client = client; this.conversation = conversation; scheme = uri.getScheme(); host = uri.getHost(); port = client.normalizePort(scheme, uri.getPort()); path = uri.getRawPath(); String query = uri.getRawQuery(); if (query != null) { for (String nameValue : query.split("&")) { String[] parts = nameValue.split("="); param(parts[0], parts.length < 2 ? "" : urlDecode(parts[1])); } } this.uri = buildURI(); followRedirects(client.isFollowRedirects()); }
@Override public void send(Response.CompleteListener listener) { send(this, listener); }
@Override public void send(Response.CompleteListener listener) { if (getTimeout() > 0) { TimeoutCompleteListener timeoutListener = new TimeoutCompleteListener(this); timeoutListener.schedule(client.getScheduler()); responseListeners.add(timeoutListener); } send(this, listener); }
@Override public void onTimeoutExpired() { nextTimeout.set(Long.MAX_VALUE); long now = System.nanoTime(); long nextExpiresAt = Long.MAX_VALUE; // Check all queued exchanges for those that have expired // and to determine when the next check must be. for (HttpExchange exchange : exchanges) { HttpRequest request = exchange.getRequest(); long expiresAt = request.getTimeoutAt(); if (expiresAt == -1) continue; if (expiresAt <= now) request.abort(new TimeoutException("Total timeout " + request.getTimeout() + " ms elapsed")); else if (expiresAt < nextExpiresAt) nextExpiresAt = expiresAt; } if (nextExpiresAt < Long.MAX_VALUE && client.isRunning()) schedule(nextExpiresAt); }
@Override public void send(Request request, Response.CompleteListener listener) { HttpRequest httpRequest = (HttpRequest)request; ArrayList<Response.ResponseListener> listeners = new ArrayList<>(httpRequest.getResponseListeners()); httpRequest.sent(); if (listener != null) listeners.add(listener); HttpExchange exchange = new HttpExchange(getHttpDestination(), httpRequest, listeners); SendFailure result = send(exchange); if (result != null) httpRequest.abort(result.failure); }
@Override public Request content(ContentProvider content, String contentType) { if (contentType != null) header(HttpHeader.CONTENT_TYPE, contentType); this.content = content; return this; }