本文整理了Java中javax.ws.rs.container.ContainerRequestContext.getHeaderString()
方法的一些代码示例,展示了ContainerRequestContext.getHeaderString()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ContainerRequestContext.getHeaderString()
方法的具体详情如下:
包路径:javax.ws.rs.container.ContainerRequestContext
类名称:ContainerRequestContext
方法名:getHeaderString
[英]Get a message header as a single string value.
[中]将消息头作为单个字符串值获取。
代码示例来源:origin: dropwizard/dropwizard
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
final String dateHeader = requestContext.getHeaderString(HttpHeaders.DATE);
if (dateHeader == null) {
throw new WebApplicationException(new IllegalArgumentException("Date Header was not specified"),
Response.Status.BAD_REQUEST);
}
}
}
代码示例来源:origin: jersey/jersey
@Override
public void filter(ContainerRequestContext ctx) throws IOException { // validate
if (!headerValue.equals(ctx.getHeaderString(headerName))) {
ctx.abortWith(Response.status(Response.Status.FORBIDDEN)
.type(MediaType.TEXT_PLAIN)
.entity(String.format("Expected header '%s' not present or value not equal to '%s'", headerName, headerValue))
.build());
}
}
代码示例来源:origin: stackoverflow.com
requestContext.getHeaderString(HttpHeaders.AUTHORIZATION);
代码示例来源:origin: opentripplanner/OpenTripPlanner
/**
* CORS request filter.
* Hijack "preflight" OPTIONS requests before the Jersey resources get them.
* The response will then pass through the CORS response filter on its way back out.
*/
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
if (HttpMethod.OPTIONS.equals(requestContext.getMethod())) {
Response.ResponseBuilder preflightResponse = Response.status(Response.Status.OK);
if (requestContext.getHeaderString("Access-Control-Request-Headers") != null) {
preflightResponse.header("Access-Control-Allow-Headers",
requestContext.getHeaderString("Access-Control-Request-Headers"));
}
if (requestContext.getHeaderString("Access-Control-Request-Method") != null) {
preflightResponse.header("Access-Control-Allow-Method", "GET,POST");
}
requestContext.abortWith(preflightResponse.build());
}
}
代码示例来源:origin: Graylog2/graylog2-server
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
if (responseContext.getStatusInfo().equals(Response.Status.UNAUTHORIZED)) {
final String requestedWith = requestContext.getHeaderString(HttpHeaders.X_REQUESTED_WITH);
if ("XMLHttpRequest".equalsIgnoreCase(requestedWith)) {
responseContext.getHeaders().remove(HttpHeaders.WWW_AUTHENTICATE);
}
}
}
}
代码示例来源:origin: jersey/jersey
private User authenticate(ContainerRequestContext filterContext) {
String authentication = filterContext.getHeaderString(HttpHeaders.AUTHORIZATION);
if (authentication == null) {
throw new AuthenticationException("Authentication credentials are required", REALM);
代码示例来源:origin: opentripplanner/OpenTripPlanner
/**
* CORS response filter. Allow requests from anywhere.
* Just echo back the contents of the Origin header.
* Allow credentials if the transport layer is secure.
*/
@Override
public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException {
String origin = request.getHeaderString("Origin"); // case insensitive
MultivaluedMap<String, Object> headers = response.getHeaders();
headers.add("Access-Control-Allow-Origin", origin);
boolean secureTransport = request.getSecurityContext().isSecure();
headers.add("Access-Control-Allow-Credentials", secureTransport);
}
代码示例来源:origin: apache/incubator-dubbo
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
HttpServletRequest request = ResteasyProviderFactory.getContextData(HttpServletRequest.class);
RpcContext.getContext().setRequest(request);
// this only works for servlet containers
if (request != null && RpcContext.getContext().getRemoteAddress() == null) {
RpcContext.getContext().setRemoteAddress(request.getRemoteAddr(), request.getRemotePort());
}
RpcContext.getContext().setResponse(ResteasyProviderFactory.getContextData(HttpServletResponse.class));
String headers = requestContext.getHeaderString(DUBBO_ATTACHMENT_HEADER);
if (headers != null) {
for (String header : headers.split(",")) {
int index = header.indexOf("=");
if (index > 0) {
String key = header.substring(0, index);
String value = header.substring(index + 1);
if (!StringUtils.isEmpty(key)) {
RpcContext.getContext().setAttachment(key.trim(), value.trim());
}
}
}
}
}
代码示例来源:origin: apache/incubator-dubbo
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
HttpServletRequest request = ResteasyProviderFactory.getContextData(HttpServletRequest.class);
RpcContext.getContext().setRequest(request);
// this only works for servlet containers
if (request != null && RpcContext.getContext().getRemoteAddress() == null) {
RpcContext.getContext().setRemoteAddress(request.getRemoteAddr(), request.getRemotePort());
}
RpcContext.getContext().setResponse(ResteasyProviderFactory.getContextData(HttpServletResponse.class));
String headers = requestContext.getHeaderString(DUBBO_ATTACHMENT_HEADER);
if (headers != null) {
for (String header : headers.split(",")) {
int index = header.indexOf("=");
if (index > 0) {
String key = header.substring(0, index);
String value = header.substring(index + 1);
if (!StringUtils.isEmpty(key)) {
RpcContext.getContext().setAttachment(key.trim(), value.trim());
}
}
}
}
}
代码示例来源:origin: apache/incubator-pinot
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
final String method = requestContext.getMethod();
final String uri = requestContext.getUriInfo().getRequestUri().toString();
final int respStatus = responseContext.getStatus();
final String reasonPhrase = responseContext.getStatusInfo().getReasonPhrase();
final String srcIpAddr = request.get().getRemoteAddr();
final String contentType = requestContext.getHeaderString(HttpHeaders.CONTENT_TYPE);
LOGGER.info("Handled request from {} {} {}, content-type {} status code {} {}", srcIpAddr, method, uri, contentType,
respStatus, reasonPhrase);
}
}
代码示例来源:origin: dropwizard/dropwizard
@Override
public void filter(final ContainerRequestContext request,
final ContainerResponseContext response) throws IOException {
String id = request.getHeaderString(REQUEST_ID);
if (Strings.isNullOrEmpty(id)) {
id = generateRandomUuid().toString();
}
logger.trace("method={} path={} request_id={} status={} length={}",
request.getMethod(), request.getUriInfo().getPath(), id,
response.getStatus(), response.getLength());
response.getHeaders().putSingle(REQUEST_ID, id);
}
代码示例来源:origin: opentripplanner/OpenTripPlanner
@Override
public void filter(ContainerRequestContext containerRequest) throws WebApplicationException {
// Get the authentication passed in HTTP headers parameters
String auth = containerRequest.getHeaderString(HttpHeaders.AUTHORIZATION);
if (auth != null) {
if (auth.startsWith("Basic ") || auth.startsWith("basic ")) {
if ( ! containerRequest.getSecurityContext().isSecure()) unencrypted();
auth = auth.replaceFirst("[Bb]asic ", "");
String[] split = new String(BaseEncoding.base64().decode(auth)).split(":", 2);
if (split.length != 2) return;
String user = split[0];
String pass = split[1];
if (pass.equals(passwords.get(user))) {
containerRequest.setSecurityContext(makeSecurityContext(user, user));
} else {
unauthenticated (user);
}
}
}
}
代码示例来源:origin: jersey/jersey
@Override
public void filter(ContainerRequestContext request) throws IOException {
// do not filter requests that do not use OAuth authentication
String authHeader = request.getHeaderString(OAuth1Parameters.AUTHORIZATION_HEADER);
if (authHeader == null || !authHeader.toUpperCase().startsWith(OAuth1Parameters.SCHEME.toUpperCase())) {
return;
}
// do not filter requests that matches to access or token resources
final Method handlingMethod = uriInfo.get().getMatchedResourceMethod().getInvocable().getHandlingMethod();
if (handlingMethod.isAnnotationPresent(TokenResource.class)
|| handlingMethod.getDeclaringClass().isAnnotationPresent(TokenResource.class)) {
return;
}
// do not filter if the request path matches pattern to ignore
if (match(ignorePathPattern, request.getUriInfo().getPath())) {
return;
}
OAuth1SecurityContext sc;
try {
sc = getSecurityContext(request);
} catch (OAuth1Exception e) {
if (optional) {
return;
} else {
throw e;
}
}
request.setSecurityContext(sc);
}
代码示例来源:origin: Graylog2/graylog2-server
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
if (LOG.isDebugEnabled()) {
try {
final String rawQuery = requestContext.getUriInfo().getRequestUri().getRawQuery();
final Date requestDate = requestContext.getDate();
final String userName = RestTools.getUserNameFromRequest(requestContext);
final String remoteAddress = RestTools.getRemoteAddrFromRequest(response.getRequest(), trustedProxies);
final String userAgent = requestContext.getHeaderString(HttpHeaders.USER_AGENT);
LOG.debug("{} {} [{}] \"{} {}{}\" {} {} {}",
remoteAddress,
userName == null ? "-" : userName,
(requestDate == null ? "-" : requestDate),
requestContext.getMethod(),
requestContext.getUriInfo().getPath(),
(rawQuery == null ? "" : "?" + rawQuery),
(userAgent == null ? "-" : userAgent),
responseContext.getStatus(),
responseContext.getLength());
} catch (Exception e) {
LOG.error("Error while processing REST API access log", e);
}
}
}
}
代码示例来源:origin: traccar/traccar
String authHeader = requestContext.getHeaderString(AUTHORIZATION_HEADER);
if (authHeader != null) {
代码示例来源:origin: traccar/traccar
@Override
public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException {
if (!response.getHeaders().containsKey(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString())) {
response.getHeaders().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_HEADERS.toString(), HEADERS_ALL);
}
if (!response.getHeaders().containsKey(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString())) {
response.getHeaders().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS.toString(), true);
}
if (!response.getHeaders().containsKey(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString())) {
response.getHeaders().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_METHODS.toString(), METHODS_ALL);
}
if (!response.getHeaders().containsKey(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString())) {
String origin = request.getHeaderString(HttpHeaderNames.ORIGIN.toString());
String allowed = Context.getConfig().getString("web.origin");
if (origin == null) {
response.getHeaders().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), ORIGIN_ALL);
} else if (allowed == null || allowed.equals(ORIGIN_ALL) || allowed.contains(origin)) {
response.getHeaders().add(HttpHeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN.toString(), origin);
}
}
}
代码示例来源:origin: HubSpot/Singularity
private Optional<String> getUserId(ContainerRequestContext context) {
try {
return Optional.ofNullable(Strings.emptyToNull(context.getHeaderString(requestUserHeaderName)));
} catch (ProvisionException pe) {
return Optional.empty();
}
}
代码示例来源:origin: HubSpot/Singularity
private String extractAuthHeader(ContainerRequestContext context) {
final String authHeaderValue = context.getHeaderString(HttpHeaders.AUTHORIZATION);
if (Strings.isNullOrEmpty(authHeaderValue)) {
throw WebExceptions.unauthorized("No Authorization header present, please log in first");
} else {
return authHeaderValue;
}
}
代码示例来源:origin: alipay/sofa-rpc
String remoteAppName = requestContext.getHeaderString(RemotingConstants.HEAD_APP_NAME);
if (StringUtils.isNotBlank(remoteAppName)) {
serverSpan.setTag(RpcSpanTags.REMOTE_APP, remoteAppName);
代码示例来源:origin: alipay/sofa-rpc
String remoteAppName = requestContext.getHeaderString(RemotingConstants.HEAD_APP_NAME);
if (StringUtils.isNotBlank(remoteAppName)) {
serverSpan.setTag(RpcSpanTags.REMOTE_APP, remoteAppName);
内容来源于网络,如有侵权,请联系作者删除!