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 void setPayloadAsStreamPayload(Transferable requestTransferable) throws IOException { ByteArrayInputStream bais = new ByteArrayInputStream(base64DecodePayload(requestTransferable.getPayload())); requestTransferable.setPayload(new StreamPayload(bais, "UTF-8")); }
response.setPayload(new TextualPayload(capContent, encoding));
public Transferable doResponse(Subject subject, InterceptorResponse iresponse) throws InterceptorException, EnforcementServiceException { SecuredServiceRequest req = iresponse.getRequest(); Transferable res = iresponse.getResponse(); String lMimeType = (String) res.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE); // is this a textual document that might contain urls of a secured // service if (lMimeType.indexOf("text") != -1 || lMimeType.indexOf("xml") != -1) { String lServiceEndpoint = ((HttpRequestForward) req.getForward()).getServiceEndpoint(); String lFacadeUrl = ((HttpRequestForward) req.getForward()).getFacadeUrl(); String lEncoding = (String) res.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTCHARSET); res.setPayload(replaceURLby(lServiceEndpoint, lFacadeUrl, res.getPayload().toString(), lEncoding, lMimeType)); } return res; }
response.setPayload(new TextualPayload(capContent, encoding));
public Transferable createTextualTransferable(final String pContentType, final String pPayLoad, final String pTargetCharset) { Transferable lTransferable = new TransferableImpl(); lTransferable.setPayload(new TextualPayload(pPayLoad, pTargetCharset)); if (pContentType != null) { String contentType = addCharset(pContentType, pTargetCharset); lTransferable.addAttribute(HttpHeaderAttribute.createHttpHeaderAttribute( HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE, contentType)); } if (pTargetCharset != null) { lTransferable.addAttribute(HttpHeaderAttribute.createHttpHeaderAttribute( HttpHeaderAttribute.HEADER_NAME_CONTENTCHARSET, pTargetCharset)); } return lTransferable; }
public Transferable createStreamTransferable(final String pContentType, final InputStream pPayLoad, final String pCharset) throws IOException { Transferable lTransferable = new TransferableImpl(); lTransferable.setPayload(new StreamPayload(pPayLoad, pCharset)); if (pContentType != null) { String contentType = addCharset(pContentType, pCharset); lTransferable.addAttribute(HttpHeaderAttribute.createHttpHeaderAttribute( HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE, contentType)); } if (pCharset != null) { lTransferable.addAttribute(HttpHeaderAttribute.createHttpHeaderAttribute( HttpHeaderAttribute.HEADER_NAME_CONTENTCHARSET, pCharset)); } return lTransferable; }
response.setPayload(new TextualPayload(getObsResponse, encoding));
response.setPayload(new TextualPayload(foiResponse, encoding));
response.setPayload(new TextualPayload(capContent, encoding));
public Transferable doResponse(Subject subject, InterceptorResponse interceptroResponse) throws InterceptorException, EnforcementServiceException { if (!isGetCapabilitiesRequest(interceptroResponse.getRequest())) return interceptroResponse.getResponse(); if (!isMimeTypeTextOrXML(interceptroResponse.getResponse())) return interceptroResponse.getResponse(); Transferable responseTransferable = interceptroResponse.getResponse(); String lEncoding = (String) responseTransferable.getAttributeValue(HttpHeaderAttribute.HEADER_NAME_CONTENTCHARSET); String trimmedCaps = removeUnauthorizedLayersFromCaps(subject, responseTransferable.getPayload().toString(), interceptroResponse); responseTransferable.setPayload(new TextualPayload(trimmedCaps, lEncoding)); return responseTransferable; }