request.setContentType(contentType); if (ContentType.APPLICATION_FORM_URLENCODED.getMimeType().equals(contentType)) { InputStream form = IOUtils.toInputStream(UriBuilder.joinParameters(UriBuilderUtils.toListFormat(parameters)));
request.setContentType(contentType); if (ContentType.APPLICATION_FORM_URLENCODED.getMimeType().equals(contentType)) { InputStream form = IOUtils.toInputStream(UriBuilder.joinParameters(UriBuilderUtils.toListFormat(parameters)));
builder .setEntityStream(new ByteArrayInputStream(request.getContent())) .setContentType(request.getContentType().orElseThrow(() -> new IllegalStateException("If content is provided, Content-Type must also be specified")));
private Response getSyncHandlerResponse(String addonKey, URI callbackUri, String jsonEventData, Optional<String> authHeader) throws LifecycleCallbackException { try { Request.Builder request = httpClient.newRequest(callbackUri); request.setAttribute("purpose", "web-hook-notification"); request.setAttribute("pluginKey", addonKey); request.setContentType(MediaType.APPLICATION_JSON); request.setEntity(jsonEventData); if (authHeader.isPresent()) { request.setHeader(AUTHORIZATION_HEADER, authHeader.get()); } request.setHeader(HttpHeaderNames.ATLASSIAN_CONNECT_VERSION, getConnectPluginVersion()); return request.execute(Request.Method.POST).claim(); } catch (Exception e) { log.error("Error contacting remote application at " + callbackUri + " [" + e.getMessage() + "]", e); String message = "Error contacting remote application [" + e.getMessage() + "]"; Throwable cause = e.getCause(); if (cause instanceof UnknownHostException) { throw new LifecycleCallbackBadResponseException(message, "connect.install.error.remote.host.bad.domain", callbackUri.getHost()); } else if (cause instanceof SocketTimeoutException) { throw new LifecycleCallbackBadResponseException(message, "connect.install.error.remote.host.timeout", removeQuery(callbackUri)); } else if (cause instanceof SSLException) { throw new LifecycleCallbackBadResponseException(message, "connect.install.error.remote.host.ssl", removeQuery(callbackUri), cause.getMessage()); } throw new LifecycleCallbackException(message, "connect.remote.upm.install.exception"); } }
private Response getSyncHandlerResponse(String addonKey, URI callbackUri, String jsonEventData, Optional<String> authHeader) throws LifecycleCallbackException { try { Request.Builder request = httpClient.newRequest(callbackUri); request.setCacheDisabled(); request.setAttribute("purpose", "web-hook-notification"); request.setAttribute("pluginKey", addonKey); request.setContentType(MediaType.APPLICATION_JSON); request.setEntity(jsonEventData); if (authHeader.isPresent()) { request.setHeader(AUTHORIZATION_HEADER, authHeader.get()); } request.setHeader(HttpHeaderNames.ATLASSIAN_CONNECT_VERSION, getConnectPluginVersion()); return request.execute(Request.Method.POST).claim(); } catch (Exception e) { log.error("Error contacting remote application at " + callbackUri + " [" + e.getMessage() + "]", e); String message = "Error contacting remote application [" + e.getMessage() + "]"; Throwable cause = e.getCause(); if (cause instanceof UnknownHostException) { throw new LifecycleCallbackBadResponseException(message, "connect.install.error.remote.host.bad.domain", callbackUri.getHost()); } else if (cause instanceof SocketTimeoutException) { throw new LifecycleCallbackBadResponseException(message, "connect.install.error.remote.host.timeout", removeQuery(callbackUri)); } else if (cause instanceof SSLException) { throw new LifecycleCallbackBadResponseException(message, "connect.install.error.remote.host.ssl", removeQuery(callbackUri), cause.getMessage()); } throw new LifecycleCallbackException(message, "connect.remote.upm.install.exception"); } }
public Request.Builder newRequest(String uri, String contentType, String entity) { final Request.Builder builder = new AuthenticatedRequestBuilder(); builder.setUri(URI.create(uri)); builder.setContentType(contentType); builder.setEntity(entity); return builder; }
protected final Promise<Void> post(final URI uri, final String entity) { final ResponsePromise responsePromise = client.newRequest(uri) .setEntity(entity) .setContentType(JSON_CONTENT_TYPE) .post(); return call(responsePromise); }
protected final <T> Promise<T> postAndParse(final URI uri, final JSONObject entity, final JsonObjectParser<T> parser) { final ResponsePromise responsePromise = client.newRequest(uri) .setEntity(entity.toString()) .setContentType(JSON_CONTENT_TYPE) .post(); return callAndParse(responsePromise, parser); }
public Request.Builder newRequest(URI uri, String contentType, String entity) { final Request.Builder builder = new AuthenticatedRequestBuilder(); builder.setUri(uri); builder.setContentType(contentType); builder.setEntity(entity); return builder; }