private byte[] base64DecodePayload(Payload pPayload) throws IOException { InputStream pIn = pPayload.getAsStream(); ByteArrayOutputStream lOutputStream = new ByteArrayOutputStream(); byte[] lBuffer = new byte[128]; int lLen = -1; while ((lLen = pIn.read(lBuffer)) != -1) { lOutputStream.write(lBuffer, 0, lLen); } return Base64.decodeBase64(lOutputStream.toByteArray()); }
/** * Checks, if document is a capabilities document * * @param request * request * @return true if document is a capabilities document, else false */ private boolean isGetCapabilitiesRequest(SecuredServiceRequest request) { Payload reqPayload = request.getPayload(); if (!(reqPayload instanceof QueryStringPayload)) { return false; } String requestParam = ((QueryStringPayload) reqPayload).getParameterValue("REQUEST"); return requestParam != null && (requestParam.equalsIgnoreCase("GetCapabilities") || reqPayload.toString().contains( "GetCapabilities")); }
addQueryStringPayload(postRequest, qpayload); } else { postRequest.content(new InputStreamHTTPContentWriter(pRequest.getPayload().getAsStream())); LOG.debug("Request Body:\n{}", pRequest.getPayload().toString());
charset = determineCharsetFromHTMLContent(responseTransferable.getPayload().toString()); responseTransferable.getPayload().getAsStream(), charset); LOG.trace(responseTransferable.getPayload().toString()); } else { LOG.trace("Response of Content-Type <" + contentType + "> won't be logged as it is expected to be binary content.");
private Transferable replaceEndPointUrlBy(URL endpointUrl, URL facadeUrl, Transferable transferable) { String contentType = (String) transferable.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE); if (!contentType.contains("xml") && !contentType.contains("text")) return transferable; String charset = (String) transferable.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTCHARSET); String payloadString = transferable.getPayload().toString(); String responseWithFacadeUrls = payloadString.replaceAll(Pattern.quote(endpointUrl.toString())+"(&)*", facadeUrl.toString()+"?"); TextualPayload payloadWithFacadeUrls = new TextualPayload(responseWithFacadeUrls,charset); transferable.setPayload(payloadWithFacadeUrls); return transferable; }
private Transferable forwardPost(Transferable owsRequest) throws ServiceException { PostMethod method = new PostMethod(getURL().toString()); String contentType = (String) owsRequest.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE); method.setRequestEntity(new InputStreamRequestEntity(owsRequest.getPayload().getAsStream(), contentType)); Transferable trans; try { trans = initBasicResponseTransferable(method); } catch (Exception e) { throw new ServiceException(String.format("Could not send basic GET request to <%s>.", getURL()), ServiceException.SERVICE_ERROR, e); } finally { method.releaseConnection(); } return trans; }
/** * @param req The request * @return true if this is a valid XML encoded request. It's only a valid * XML encoded request according to wfs 1.1 spec if the content-type is * "text/xml" */ private boolean isXMLDescribeFeatureTypeRequest(SecuredServiceRequest req) { Payload reqPayload = req.getPayload(); String contentType = (String) req.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE); if (contentType == null || !contentType.contains("text/xml")) { return false; } String requestString = reqPayload.toString(); if (requestString != null) { m_requestDocument = DOMParser.createNew().parse(new InputSource(new StringReader(requestString))); } else { throw new IllegalArgumentException("Creation of " + this.getClass().getName() + "failed. No DescribeFeatureType request"); } if (m_requestDocument != null && m_requestDocument.getFirstChild().getNodeName() != "DescribeFeatureType") { return false; } return true; }
try { doc = DOMParser.createNew().parse(new InputSource(reqPayload.getAsStream())); sosOperation = doc.getDocumentElement().getLocalName(); if (sosOperation == null) {
/** * @param req The request * @return true if this is a valid XML encoded request. It's only a valid * XML encoded request according to wfs 1.1 spec if the content-type is * "text/xml" */ private boolean isXMLGetFeatureRequest(SecuredServiceRequest req) { Payload reqPayload = req.getPayload(); String contentType = (String) req.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE); if (contentType == null || !contentType.contains("text/xml")) { return false; } String requestString = reqPayload.toString(); if (requestString != null) { m_requestDocument = DOMParser.createNew().parse(new InputSource(new StringReader(requestString))); } else { throw new IllegalArgumentException("Creation of " + this.getClass().getName() + "failed. No GetFeature request"); } if (m_requestDocument != null && m_requestDocument.getFirstChild().getNodeName() != "GetFeature") { return false; } return true; }
private void forwardResponse(FacadeResponse facadeResponse, Transferable serverResponse) throws IOException { addGzipHeaderIfAccepted(facadeResponse, serverResponse); facadeResponse.handleFacadeResponseHeaders(serverResponse); OutputStream outputStream = facadeResponse.getOutputStream(); outputStream = makeGzipStreamIfAccepted(facadeResponse, outputStream); pipeStream(serverResponse.getPayload().getAsStream(), outputStream); }
public SecuredServiceRequest doRequest(Subject pSubject, InterceptorRequest pRequest) throws InterceptorException, EnforcementServiceException { if (!mRequestConfig.isEnabled()) { return pRequest.getRequest(); } LOG.debug("intercepting request"); //TODO Datum, Nutzer(loginname), Request (ist nur get) [IP Add, vielleicht sollte der PES das in die Map packen?] String lServiceRequest = pRequest.getRequest().getPayload().toString(); String lUSerInfo = getUserDesignator(pSubject); StringBuffer lLogLine = new StringBuffer(); lLogLine.append(formatter.format(new Date())).append("\t") .append(lUSerInfo).append("\t"). append(lServiceRequest); mRequestConfig.getLogFile().logLine(lLogLine.toString()); return pRequest.getRequest(); }
sosOperation = ((QueryStringPayload) reqPayload).getParameterValue("REQUEST"); } else if (reqPayload instanceof TextualPayload) { Document doc = DOMParser.createNew().parse(new InputSource(reqPayload.getAsStream())); sosOperation = doc.getDocumentElement().getLocalName(); } else { doc = DOMParser.createNew().parse(new InputSource(response.getPayload().getAsStream())); } catch (DOMParserException e1) { throw new EnforcementServiceException("Could not parse response document as xml", e1);
private boolean isGetCapabilitiesRequest(SecuredServiceRequest pRequest) { Payload lReqPayload = pRequest.getPayload(); String lRequestParam = null; // Return if the request structure does not meet our needs if (!(lReqPayload instanceof QueryStringPayload)) { try { lReqPayload = new QueryStringPayload(lReqPayload.toString()); } catch (Exception e) { return false; } } return (lRequestParam = ((QueryStringPayload) lReqPayload).getParameterValue("REQUEST")) != null && lRequestParam.equalsIgnoreCase("GetCapabilities"); }
Document doc = DOMParser.createNew().parse(new InputSource(reqPayload.getAsStream())); sosOperation = doc.getDocumentElement().getLocalName(); } else {
lPayloadAsString = new String(Base64.encodeBase64(lStreamPayload.toByteArray())); } else { lPayloadAsString = pPayload.toString();
sosOperation = ((QueryStringPayload) reqPayload).getParameterValue("REQUEST"); } else if (reqPayload instanceof TextualPayload) { Document doc = DOMParser.createNew().parse(new InputSource(reqPayload.getAsStream())); sosOperation = doc.getDocumentElement().getLocalName(); } else { doc = DOMParser.createNew().parse(new InputSource(response.getPayload().getAsStream())); } catch (DOMParserException e1) { throw new EnforcementServiceException("Could not parse response document as xml", e1);
/** * @param owsRequest * @return * @throws ServiceException */ private Transferable forwardGet(Transferable owsRequest) throws ServiceException { GetMethod method = new GetMethod(getURL().toString()); Payload payload = owsRequest.getPayload(); String baseQueryString = method.getQueryString(); if (baseQueryString != null && baseQueryString.length() > 0) { baseQueryString = baseQueryString + "&" + payload.toString(); } else { baseQueryString = payload.toString(); } method.setQueryString(baseQueryString); Transferable trans; try { trans = initBasicResponseTransferable(method); } catch (Exception e) { throw new ServiceException(String.format("Could not send basic GET request to <%s>.", getURL()), ServiceException.SERVICE_ERROR, e); } finally { method.releaseConnection(); } return trans; }
sosOperation = ((QueryStringPayload) reqPayload).getParameterValue("REQUEST"); } else if (reqPayload instanceof TextualPayload) { Document doc = DOMParser.createNew().parse(new InputSource(reqPayload.getAsStream())); sosOperation = doc.getDocumentElement().getLocalName(); } else { doc = DOMParser.createNew().parse(new InputSource(response.getPayload().getAsStream())); } catch (DOMParserException e1) { throw new EnforcementServiceException("Could not parse response document as xml", e1);
String lPayloadAsString = pResponse.getResponse().getPayload().toString(); String lUSerInfo = getUserDesignator(pSubject);
doc = domParser.parse(new InputSource(reqPayload.getAsStream())); wpsOperation = doc.getDocumentElement().getLocalName(); if (wpsOperation == null) {