/** * @return the thread-local api request */ public static final ApiRequest getApiRequest() { ApiRequest request = apiRequest.get(); if (request == null) { request = new ApiRequest(); apiRequest.set(request); } request.setApiKey(null); request.setUrl(null); request.setDestination(null); request.getHeaders().clear(); request.setRawRequest(null); request.setRemoteAddr(null); request.setType(null); request.setTransportSecure(false); return request; }
/** * @return the thread-local api request */ public static final ApiRequest getApiRequest() { ApiRequest request = apiRequest.get(); if (request == null) { request = new ApiRequest(); apiRequest.set(request); } request.setApiKey(null); request.setUrl(null); request.setDestination(null); request.getHeaders().clear(); request.setRawRequest(null); request.setRemoteAddr(null); request.setType(null); request.setTransportSecure(false); return request; }
srequest.setUrl("http://localhost:8080" + ptRequest.resource()); //$NON-NLS-1$ srequest.setDestination(ptRequest.resource()); srequest.setType(ptRequest.method().name());
srequest.setUrl("http://localhost:8080" + ptRequest.resource()); //$NON-NLS-1$ srequest.setDestination(ptRequest.resource()); srequest.setType(ptRequest.method().name());
/** * Reads a {@link ApiRequest} from information found in the inbound * portion of the http request. * @param request the undertow http server request * @return a valid {@link ApiRequest} * @throws IOException */ protected ApiRequest readRequest(HttpServletRequest request) throws Exception { ApiRequestPathInfo pathInfo = getEngine().getApiRequestPathParser().parseEndpoint(request.getPathInfo(), wrapMultiMap(request));//parseApiRequestPath(request); if (pathInfo.orgId == null) { throw new Exception(Messages.i18n.format("GatewayServlet.InvalidApiEndpoint")); //$NON-NLS-1$ } QueryMap queryParams = parseApiRequestQueryParams(request.getQueryString()); String apiKey = getApiKey(request, queryParams); ApiRequest srequest = GatewayThreadContext.getApiRequest(); srequest.setApiKey(apiKey); srequest.setApiOrgId(pathInfo.orgId); srequest.setApiId(pathInfo.apiId); srequest.setApiVersion(pathInfo.apiVersion); srequest.setUrl(request.getRequestURL().toString()); srequest.setDestination(pathInfo.resource); srequest.setQueryParams(queryParams); readHeaders(srequest, request); srequest.setRawRequest(request); srequest.setRemoteAddr(request.getRemoteAddr()); srequest.setTransportSecure(request.isSecure()); return srequest; }
/** * Reads a {@link ApiRequest} from information found in the inbound * portion of the http request. * @param request the undertow http server request * @return a valid {@link ApiRequest} * @throws IOException */ protected ApiRequest readRequest(HttpServletRequest request) throws Exception { ApiRequestPathInfo pathInfo = getEngine().getApiRequestPathParser().parseEndpoint(request.getPathInfo(), wrapMultiMap(request));//parseApiRequestPath(request); if (pathInfo.orgId == null) { throw new Exception(Messages.i18n.format("GatewayServlet.InvalidApiEndpoint")); //$NON-NLS-1$ } QueryMap queryParams = parseApiRequestQueryParams(request.getQueryString()); String apiKey = getApiKey(request, queryParams); ApiRequest srequest = GatewayThreadContext.getApiRequest(); srequest.setApiKey(apiKey); srequest.setApiOrgId(pathInfo.orgId); srequest.setApiId(pathInfo.apiId); srequest.setApiVersion(pathInfo.apiVersion); srequest.setUrl(request.getRequestURL().toString()); srequest.setDestination(pathInfo.resource); srequest.setQueryParams(queryParams); readHeaders(srequest, request); srequest.setRawRequest(request); srequest.setRemoteAddr(request.getRemoteAddr()); srequest.setTransportSecure(request.isSecure()); return srequest; }
private static void parsePath(HttpServerRequest request, ApiRequest apimanRequest) { // NB: The apiman version of the headers has already been parsed, so the headers have already been filtered/modified. // Therefore we wrap the original inbound headers (just get) to efficiently access the necessary data. ApiRequestPathInfo parsedPath = requestPathParser.parseEndpoint(request.path(), wrapMultiMap(request.headers())); apimanRequest.setApiOrgId(parsedPath.orgId); apimanRequest.setApiId(parsedPath.apiId); apimanRequest.setApiVersion(parsedPath.apiVersion); apimanRequest.setUrl(request.absoluteURI()); apimanRequest.setDestination(parsedPath.resource); }