/** * @return an API request */ public ApiRequest createApiRequest() { ApiRequest request = new ApiRequest(); request.setApiOrgId(orgId); request.setApiId(apiId); request.setApiVersion(String.valueOf(version)); request.setTransportSecure(true); return request; }
/** * @return an API request */ public ApiRequest createApiRequest() { ApiRequest request = new ApiRequest(); request.setApiOrgId(orgId); request.setApiId(apiId); request.setApiVersion(String.valueOf(version)); request.setTransportSecure(true); return request; }
/** * 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); }