List of usage examples for com.google.common.net MediaType JSON_UTF_8
MediaType JSON_UTF_8
To view the source code for com.google.common.net MediaType JSON_UTF_8.
Click Source Link
From source file:io.prestosql.server.remotetask.HttpRemoteTask.java
private synchronized void sendUpdate() { TaskStatus taskStatus = getTaskStatus(); // don't update if the task hasn't been started yet or if it is already finished if (!needsUpdate.get() || taskStatus.getState().isDone()) { return;//from w w w .j av a 2 s .c o m } // if there is a request already running, wait for it to complete if (this.currentRequest != null && !this.currentRequest.isDone()) { return; } // if throttled due to error, asynchronously wait for timeout and try again ListenableFuture<?> errorRateLimit = updateErrorTracker.acquireRequestPermit(); if (!errorRateLimit.isDone()) { errorRateLimit.addListener(this::sendUpdate, executor); return; } List<TaskSource> sources = getSources(); Optional<PlanFragment> fragment = sendPlan.get() ? Optional.of(planFragment) : Optional.empty(); TaskUpdateRequest updateRequest = new TaskUpdateRequest(session.toSessionRepresentation(), session.getIdentity().getExtraCredentials(), fragment, sources, outputBuffers.get(), totalPartitions); byte[] taskUpdateRequestJson = taskUpdateRequestCodec.toJsonBytes(updateRequest); if (fragment.isPresent()) { stats.updateWithPlanBytes(taskUpdateRequestJson.length); } HttpUriBuilder uriBuilder = getHttpUriBuilder(taskStatus); Request request = preparePost().setUri(uriBuilder.build()) .setHeader(HttpHeaders.CONTENT_TYPE, MediaType.JSON_UTF_8.toString()) .setBodyGenerator(createStaticBodyGenerator(taskUpdateRequestJson)).build(); updateErrorTracker.startRequest(); ListenableFuture<JsonResponse<TaskInfo>> future = httpClient.executeAsync(request, createFullJsonResponseHandler(taskInfoCodec)); currentRequest = future; currentRequestStartNanos = System.nanoTime(); // The needsUpdate flag needs to be set to false BEFORE adding the Future callback since callback might change the flag value // and does so without grabbing the instance lock. needsUpdate.set(false); Futures.addCallback(future, new SimpleHttpResponseHandler<>(new UpdateResponseHandler(sources), request.getUri(), stats), executor); }
From source file:org.glowroot.ui.CommonHandler.java
private static CommonResponse newHttpResponseWithMessage(HttpResponseStatus status, @Nullable String message) throws IOException { // this is an "expected" exception, no need to send back stack trace StringBuilder sb = new StringBuilder(); JsonGenerator jg = mapper.getFactory().createGenerator(CharStreams.asWriter(sb)); try {/*from w ww.j ava 2 s .c o m*/ jg.writeStartObject(); jg.writeStringField("message", message); jg.writeEndObject(); } finally { jg.close(); } return new CommonResponse(status, MediaType.JSON_UTF_8, sb.toString()); }
From source file:org.glowroot.ui.CommonHandler.java
static CommonResponse newHttpResponseWithStackTrace(Exception e, HttpResponseStatus status, @Nullable String simplifiedMessage) throws IOException { return new CommonResponse(status, MediaType.JSON_UTF_8, getHttpResponseWithStackTrace(e, simplifiedMessage)); }
From source file:org.glowroot.ui.AdminJsonService.java
@RequiresNonNull("httpServer") private CommonResponse onSuccessfulEmbeddedWebUpdate(EmbeddedWebConfig config) throws Exception { boolean closeCurrentChannelAfterPortChange = false; boolean portChangeFailed = false; if (config.port() != checkNotNull(httpServer.getPort())) { try {//from w w w.j av a 2 s .c o m httpServer.changePort(config.port()); closeCurrentChannelAfterPortChange = true; } catch (PortChangeFailedException e) { logger.error(e.getMessage(), e); portChangeFailed = true; } } if (config.https() != httpServer.getHttps() && !portChangeFailed) { // only change protocol if port change did not fail, otherwise confusing to display // message that port change failed while at the same time redirecting user to HTTP/S httpServer.changeProtocol(config.https()); closeCurrentChannelAfterPortChange = true; } String responseText = getEmbeddedWebConfig(portChangeFailed); CommonResponse response = new CommonResponse(OK, MediaType.JSON_UTF_8, responseText); if (closeCurrentChannelAfterPortChange) { response.setCloseConnectionAfterPortChange(); } return response; }