@Override public String method(ServerHttpRequest request) { return request.getMethodValue(); }
@Override public String getMethodValue() { return getDelegate().getMethodValue(); }
@Override public String methodName() { return request().getMethodValue(); }
@Override public String getMethodValue() { return getDelegate().getMethodValue(); }
@Override public String method(ServerHttpRequest.Builder request) { return request.build().getMethodValue(); }
@Override public String methodName() { return request().getMethodValue(); }
public DefaultServerHttpRequestBuilder(ServerHttpRequest original) { Assert.notNull(original, "ServerHttpRequest is required"); this.uri = original.getURI(); this.httpMethodValue = original.getMethodValue(); this.body = original.getBody(); this.httpHeaders = HttpHeaders.writableHttpHeaders(original.getHeaders()); this.cookies = new LinkedMultiValueMap<>(original.getCookies().size()); copyMultiValueMap(original.getCookies(), this.cookies); this.originalRequest = original; }
/** * Check if any of the HTTP request methods match the given request and * return an instance that contains the matching HTTP request method only. * @param exchange the current exchange * @return the same instance if the condition is empty (unless the request * method is HTTP OPTIONS), a new condition with the matched request method, * or {@code null} if there is no match or the condition is empty and the * request method is OPTIONS. */ @Override @Nullable public RequestMethodsRequestCondition getMatchingCondition(ServerWebExchange exchange) { if (CorsUtils.isPreFlightRequest(exchange.getRequest())) { return matchPreFlight(exchange.getRequest()); } if (getMethods().isEmpty()) { if (RequestMethod.OPTIONS.name().equals(exchange.getRequest().getMethodValue())) { return null; // No implicit match for OPTIONS (we handle it) } return this; } return matchRequestMethod(exchange.getRequest().getMethod()); }
@Override public Mono<Void> handleRequest(ServerWebExchange exchange, WebSocketHandler handler) { ServerHttpRequest request = exchange.getRequest(); HttpMethod method = request.getMethod(); HttpHeaders headers = request.getHeaders(); if (HttpMethod.GET != method) { return Mono.error(new MethodNotAllowedException( request.getMethodValue(), Collections.singleton(HttpMethod.GET))); } if (!"WebSocket".equalsIgnoreCase(headers.getUpgrade())) { return handleBadRequest(exchange, "Invalid 'Upgrade' header: " + headers); } List<String> connectionValue = headers.getConnection(); if (!connectionValue.contains("Upgrade") && !connectionValue.contains("upgrade")) { return handleBadRequest(exchange, "Invalid 'Connection' header: " + headers); } String key = headers.getFirst(SEC_WEBSOCKET_KEY); if (key == null) { return handleBadRequest(exchange, "Missing \"Sec-WebSocket-Key\" header"); } String protocol = selectProtocol(headers, handler); return initAttributes(exchange).flatMap(attributes -> this.upgradeStrategy.upgrade(exchange, handler, protocol, () -> createHandshakeInfo(exchange, request, protocol, attributes)) ); }
public DefaultServerHttpRequestBuilder(ServerHttpRequest original) { Assert.notNull(original, "ServerHttpRequest is required"); this.uri = original.getURI(); this.httpMethodValue = original.getMethodValue(); this.body = original.getBody(); this.httpHeaders = HttpHeaders.writableHttpHeaders(original.getHeaders()); this.cookies = new LinkedMultiValueMap<>(original.getCookies().size()); copyMultiValueMap(original.getCookies(), this.cookies); this.originalRequest = original; }
.flatMap(resource -> { try { if (HttpMethod.OPTIONS.matches(exchange.getRequest().getMethodValue())) { exchange.getResponse().getHeaders().add("Allow", "GET,HEAD,OPTIONS"); return Mono.empty(); if (!SUPPORTED_METHODS.contains(httpMethod)) { return Mono.error(new MethodNotAllowedException( exchange.getRequest().getMethodValue(), SUPPORTED_METHODS)); if (HttpMethod.HEAD.matches(exchange.getRequest().getMethodValue())) { setHeaders(exchange, resource, mediaType); exchange.getResponse().getHeaders().set(HttpHeaders.ACCEPT_RANGES, "bytes");
private void terminateSpan(@Nullable Throwable t) { String httpRoute = null; Object attribute = this.exchange .getAttribute(HandlerMapping.BEST_MATCHING_HANDLER_ATTRIBUTE); if (attribute instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) attribute; addClassMethodTag(handlerMethod, this.span); addClassNameTag(handlerMethod, this.span); Object pattern = this.exchange .getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE); httpRoute = pattern != null ? pattern.toString() : ""; } addResponseTagsForSpanWithoutParent(this.exchange, this.exchange.getResponse(), this.span); DecoratedServerHttpResponse delegate = new DecoratedServerHttpResponse( this.exchange.getResponse(), this.exchange.getRequest().getMethodValue(), httpRoute); this.handler.handleSend(delegate, t, this.span); if (log.isDebugEnabled()) { log.debug("Handled send of " + this.span); } }
String httpMethod = request.getMethodValue(); Set<HttpMethod> methods = helper.getAllowedMethods(); if (HttpMethod.OPTIONS.matches(httpMethod)) {
final HttpMethod method = HttpMethod.valueOf(request.getMethodValue()); final String url = requestUrl.toString();
/** * Creates a {@code method} tag based on the * {@link org.springframework.http.server.reactive.ServerHttpRequest#getMethod() * method} of the {@link ServerWebExchange#getRequest()} request of the given * {@code exchange}. * @param exchange the exchange * @return the method tag whose value is a capitalized method (e.g. GET). */ public static Tag method(ServerWebExchange exchange) { return Tag.of("method", exchange.getRequest().getMethodValue()); }
ServerWebExchangeTraceableRequest(ServerWebExchange exchange) { ServerHttpRequest request = exchange.getRequest(); this.method = request.getMethodValue(); this.headers = request.getHeaders(); this.uri = request.getURI(); this.remoteAddress = (request.getRemoteAddress() != null) ? request.getRemoteAddress().getAddress().toString() : null; }
@Override public String method(ServerHttpRequest.Builder request) { return request.build().getMethodValue(); }
@Override public String getMethodValue() { return getDelegate().getMethodValue(); }
ServerWebExchangeSofaTraceableRequest(ServerWebExchange exchange) { ServerHttpRequest request = exchange.getRequest(); this.method = request.getMethodValue(); this.headers = request.getHeaders(); this.uri = request.getURI(); this.remoteAddress = (request.getRemoteAddress() != null) ? request.getRemoteAddress() .getAddress().toString() : StringUtils.EMPTY_STRING; }
public DefaultServerHttpRequestBuilder(ServerHttpRequest original) { Assert.notNull(original, "ServerHttpRequest is required"); this.uri = original.getURI(); this.httpMethodValue = original.getMethodValue(); this.body = original.getBody(); this.httpHeaders = HttpHeaders.writableHttpHeaders(original.getHeaders()); this.cookies = new LinkedMultiValueMap<>(original.getCookies().size()); copyMultiValueMap(original.getCookies(), this.cookies); this.originalRequest = original; }