io.vertx.core.http.HttpServerResponse#setStatusCode ( )源码实例Demo

下面列出了io.vertx.core.http.HttpServerResponse#setStatusCode ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。


@Override
public void handle(RoutingContext ctx) {
    HttpServerResponse response = ctx.response();

    try {
        String sApi = ctx.request().getParam("apiId");
        Api api = apiManager.get(sApi);

        if (api == null) {
            response.setStatusCode(HttpStatusCode.NOT_FOUND_404);
        } else {
            response.putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
            response.setStatusCode(HttpStatusCode.OK_200);
            response.setChunked(true);

            Json.prettyMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
            response.write(Json.prettyMapper.writeValueAsString(api));
        }
    } catch (JsonProcessingException jpe) {
        response.setStatusCode(HttpStatusCode.INTERNAL_SERVER_ERROR_500);
        LOGGER.error("Unable to transform data object to JSON", jpe);
    }

    response.end();
}
 
源代码2 项目: okapi   文件: ProxyService.java

private void relayToResponse(HttpServerResponse hres,
                             HttpClientResponse res, ProxyContext pc) {
  if (pc.getHandlerRes() != 0) {
    hres.setStatusCode(pc.getHandlerRes());
    hres.headers().addAll(pc.getHandlerHeaders());
  } else if (pc.getAuthRes() != 0 && (pc.getAuthRes() < 200 || pc.getAuthRes() >= 300)) {
    hres.setStatusCode(pc.getAuthRes());
    hres.headers().addAll(pc.getAuthHeaders());
  } else {
    if (res != null) {
      hres.setStatusCode(res.statusCode());
      hres.headers().addAll(res.headers());
    }
  }
  sanitizeAuthHeaders(hres.headers());
  hres.headers().remove("Content-Length");
  hres.headers().remove("Transfer-Encoding");
  if (hres.getStatusCode() != 204) {
    hres.setChunked(true);
  }
}
 

@Override
public void handle(RoutingContext ctx) {
    HttpServerResponse response = ctx.response();
    response.setStatusCode(HttpStatusCode.OK_200);
    response.putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
    response.setChunked(true);

    try {
        Json.prettyMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        response.write(Json.prettyMapper.writeValueAsString(new ExecutorStatistics()));
    } catch (JsonProcessingException jpe) {
        response.setStatusCode(HttpStatusCode.INTERNAL_SERVER_ERROR_500);
        LOGGER.error("Unable to transform data object to JSON", jpe);
    }

    response.end();
}
 
源代码4 项目: nexus-proxy   文件: NexusHttpProxy.java

/**
 * Proxies the specified HTTP request, enriching its headers with authentication information.
 *
 * @param userId  the ID of the user making the request.
 * @param origReq the original request (i.e., {@link RoutingContext#request()}.
 * @param origRes the original response (i.e., {@link RoutingContext#request()}.
 */
public void proxyUserRequest(final String userId,
                             final HttpServerRequest origReq,
                             final HttpServerResponse origRes) {
    final Handler<HttpClientResponse> proxiedResHandler = proxiedRes -> {
        origRes.setChunked(true);
        origRes.setStatusCode(proxiedRes.statusCode());
        origRes.headers().setAll(proxiedRes.headers());
        proxiedRes.handler(origRes::write);
        proxiedRes.endHandler(v -> origRes.end());
    };

    final HttpClientRequest proxiedReq;
    proxiedReq = httpClient.request(origReq.method(), port, host, origReq.uri(), proxiedResHandler);
    if(origReq.method() == HttpMethod.OTHER) {
        proxiedReq.setRawMethod(origReq.rawMethod());
    }
    proxiedReq.setChunked(true);
    proxiedReq.headers().add(X_FORWARDED_PROTO, getHeader(origReq, X_FORWARDED_PROTO, origReq.scheme()));
    proxiedReq.headers().add(X_FORWARDED_FOR, getHeader(origReq, X_FORWARDED_FOR, origReq.remoteAddress().host()));
    proxiedReq.headers().addAll(origReq.headers());
    injectRutHeader(proxiedReq, userId);
    origReq.handler(proxiedReq::write);
    origReq.endHandler(v -> proxiedReq.end());
}
 
源代码5 项目: vertx-sse   文件: SSEHandlerImpl.java

@Override
public void handle(RoutingContext context) {
	HttpServerRequest request = context.request();
	HttpServerResponse response = context.response();
	response.setChunked(true);
	SSEConnection connection = SSEConnection.create(context);
	String accept = request.getHeader("Accept");
	if (accept != null && !accept.contains("text/event-stream")) {
		connection.reject(406, "Not acceptable");
		return;
	}
	response.closeHandler(aVoid -> {
		closeHandlers.forEach(closeHandler -> closeHandler.handle(connection));
		connection.close();
	});
	response.headers().add("Content-Type", "text/event-stream");
	response.headers().add("Cache-Control", "no-cache");
	response.headers().add("Connection", "keep-alive");
	connectHandlers.forEach(handler -> handler.handle(connection));
	if (!connection.rejected()) {
		response.setStatusCode(200);
		response.setChunked(true);
		response.write(EMPTY_BUFFER);
	}
}
 
源代码6 项目: gravitee-gateway   文件: SyncHandler.java

@Override
public void handle(RoutingContext ctx) {
    HttpServerResponse response = ctx.response();
    JsonObject object = new JsonObject()
            .put("counter", syncManager.getCounter())
            .put("lastRefreshAt", syncManager.getLastRefreshAt());

    response.putHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON);
    response.setChunked(true);
    response.write(object.encodePrettily());
    response.setStatusCode(HttpStatusCode.OK_200);
    response.end();
}
 

private void doHandle(RoutingContext ctx) {
    SmallRyeHealthReporter reporter = Arc.container().instance(SmallRyeHealthReporter.class).get();
    SmallRyeHealth health = getHealth(reporter, ctx);
    HttpServerResponse resp = ctx.response();
    if (health.isDown()) {
        resp.setStatusCode(503);
    }
    resp.headers().set(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");
    try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
        reporter.reportHealth(outputStream, health);
        resp.end(Buffer.buffer(outputStream.toByteArray()));
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}
 

private void purgeCache(final RoutingContext routingContext) {
    eb.send(Constants.REDIS_PURGE_EVENTBUS_ADDRESS, "");
    eb.send(Constants.CACHE_PURGE_EVENTBUS_ADDRESS, "");

    HttpServerResponse response = routingContext.request().response();
    response.setStatusCode(200);
    response.putHeader("content-type", "application/json");
    response.end();
}
 

private void sendResponse(final RoutingContext routingContext, int statusCode, final String message) {
    HttpServerResponse response = routingContext.request().response();
    response.setStatusCode(statusCode);
    response.putHeader("content-type", "application/json");

    if (message != null)
        response.end(message);
    else
        response.end();
}
 
源代码10 项目: vertx-swagger   文件: SwaggerRouter.java

private static void manageError( ReplyException cause, HttpServerResponse response) {
    if(isExistingHttStatusCode(cause.failureCode())) {
        response.setStatusCode(cause.failureCode());
        if(StringUtils.isNotEmpty(cause.getMessage())) {
            response.setStatusMessage(cause.getMessage());
        }
    } else {
        response.setStatusCode(HttpResponseStatus.INTERNAL_SERVER_ERROR.code());
    }
    response.end();
}
 
源代码11 项目: rest.vertx   文件: NotFoundResponseWriter.java

@Override
public void write(Void result, HttpServerRequest request, HttpServerResponse response) {

	// pre-fill 404 for convenience
	response.setStatusCode(Response.Status.NOT_FOUND.getStatusCode());

	// wrapped call to simplify implementation
	write(request, response);
}
 
源代码12 项目: rest.vertx   文件: TestContextRest.java

@GET
@Path("/login")
public HttpServerResponse login(@Context HttpServerResponse response) {

	response.setStatusCode(201);
	response.putHeader("X-SessionId", "session");
	response.end("Hello world!");
	return response;
}
 
源代码13 项目: nassh-relay   文件: WriteHandler.java

@Override
public void handle(final RoutingContext context) {
    final HttpServerRequest request = context.request();
    final HttpServerResponse response = context.response();
    response.putHeader("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0");
    response.putHeader("Pragma", "no-cache");
    if (request.params().contains("sid") && request.params().contains("wcnt") && request.params().contains("data")) {
        final UUID sid = UUID.fromString(request.params().get("sid"));
        final byte[] data = Base64.getUrlDecoder().decode(request.params().get("data"));
        response.setStatusCode(200);
        final LocalMap<String, Session> map = vertx.sharedData().getLocalMap(Constants.SESSIONS);
        final Session session = map.get(sid.toString());
        if (session == null) {
            response.setStatusCode(410);
            response.end();
            return;
        }
        session.setWrite_count(Integer.parseInt(request.params().get("wcnt")));
        final Buffer message = Buffer.buffer();
        message.appendBytes(data);
        vertx.eventBus().publish(session.getHandler(), message);
        response.end();
    } else {
        response.setStatusCode(410);
        response.end();
    }
}
 
源代码14 项目: dfx   文件: Utils.java

public static void fireJsonResponse(HttpServerResponse response, int statusCode, Map payload) {
    response.setStatusCode(statusCode);
    JsonObject jsonObject = new JsonObject(payload);
    response.putHeader("content-type", "application/json; charset=utf-8").end(jsonObject.toString());
}
 
源代码15 项目: nassh-relay   文件: CookieHandler.java

@Override
public void handle(final RoutingContext context) {
    logger.debug("got request");
    final HttpServerRequest request = context.request();
    final HttpServerResponse response = context.response();
    response.putHeader("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0");
    response.putHeader("Pragma", "no-cache");
    if (request.params().contains("ext") && request.params().contains("path")) {
        final String ext = request.params().get("ext");
        final String path = request.params().get("path");
        if (!authentication) {
            response.putHeader("location", "chrome-extension://" + ext + "/" + path + "#[email protected]" + RequestHelper.getHost(request));
            response.setStatusCode(302);
            response.end();
            return;
        }
        final AuthSession authSession = WebHelper.validateCookie(context);
        if (authSession != null) {
            final String gplusid = authSession.get("id");
            response.putHeader("location", "chrome-extension://" + ext + "/" + path + "#" + gplusid + "@" + RequestHelper.getHost(request));
            response.setStatusCode(302);
            response.end();
        } else {
            response.setStatusCode(200);
            final String state = new BigInteger(130, new SecureRandom()).toString(32);
            final AuthSession session = AuthSessionManager.createSession(sessionTTL);
            session.put("state", state);
            final Cookie sessionCookie = Cookie
                .cookie(Constants.SESSIONCOOKIE, session.getId().toString())
                .setHttpOnly(true);
            if (secureCookie) {
                sessionCookie
                    .setSameSite(CookieSameSite.NONE)
                    .setSecure(true);
            }
            response.addCookie(sessionCookie);
            final String auth_html = new Scanner(this.getClass().getResourceAsStream(STATIC_FILE), "UTF-8")
                .useDelimiter("\\A").next()
                .replaceAll("[{]{2}\\s*CLIENT_ID\\s*[}]{2}", auth.getString("client-id"))
                .replaceAll("[{]{2}\\s*STATE\\s*[}]{2}", state)
                .replaceAll("[{]{2}\\s*APPLICATION_NAME\\s*[}]{2}", auth.getString("title"));
            response.end(auth_html);
        }
    } else {
        response.setStatusCode(401);
        response.end("unauthorized");
    }
}
 
源代码16 项目: vxms   文件: ResponseExecution.java

private static void updateResponseStatusCode(int httpStatusCode, HttpServerResponse response) {
  if (httpStatusCode != 0) {
    response.setStatusCode(httpStatusCode);
  }
}
 

@Override
public void write(Object result, HttpServerRequest request, HttpServerResponse response) {

	response.setStatusCode(204);
}
 
源代码18 项目: rest.vertx   文件: MyExceptionHandler.java

@Override
public void write(MyExceptionClass result, HttpServerRequest request, HttpServerResponse response) {

	response.setStatusCode(result.getStatus());
	response.end("Exception: " + result.getError());
}
 

@Override
public void write(Throwable result, HttpServerRequest request, HttpServerResponse response) {

	response.setStatusCode(400);
	response.end(name + " " + result.getMessage());
}
 
源代码20 项目: hono   文件: SigfoxProtocolAdapter.java

@Override
protected void setNonEmptyResponsePayload(final HttpServerResponse response, final CommandContext commandContext,
        final Span currentSpan) {

    currentSpan.log("responding with: payload");

    final Command command = commandContext.getCommand();
    response.setStatusCode(HttpURLConnection.HTTP_OK);
    final Buffer payload = convertToResponsePayload(command);

    LOG.debug("Setting response for ACK: {}", payload);

    HttpUtils.setResponseBody(response, payload, HttpUtils.CONTENT_TYPE_JSON);

}