use of com.predic8.membrane.annot.model.doc.Doc in project service-proxy by membrane.
the class AuthHead2BodyInterceptor method handleRequest.
public Outcome handleRequest(AbstractExchange exchange) throws Exception {
Document doc = getDocument(exchange.getRequest().getBodyAsStreamDecoded(), exchange.getRequest().getCharset());
Element header = getAuthorisationHeader(doc);
if (header == null)
return Outcome.CONTINUE;
// System.out.println(DOM2String(doc));
Element nor = getNorElement(doc);
nor.appendChild(getUsername(doc, header));
nor.appendChild(getPassword(doc, header));
header.getParentNode().removeChild(header);
exchange.getRequest().setBody(new Body(DOM2String(doc).getBytes(exchange.getRequest().getCharset())));
return Outcome.CONTINUE;
}
use of com.predic8.membrane.annot.model.doc.Doc in project service-proxy by membrane.
the class AuthHead2BodyInterceptor method getPassword.
private Node getPassword(Document doc, Element header) {
Element e = doc.createElement("password");
e.appendChild(doc.createTextNode(((Element) doc.getElementsByTagNameNS(COM_NS, "password").item(0)).getTextContent()));
e.setAttributeNS(XSI_NS, "xsi:type", "xsd:string");
return e;
}
use of com.predic8.membrane.annot.model.doc.Doc in project service-proxy by membrane.
the class HelpReference method handleDoc.
private void handleDoc(AbstractJavadocedInfo info) throws XMLStreamException {
Doc doc = info.getDoc(processingEnv);
if (doc == null)
return;
xew.writeStartElement("documentation");
for (Doc.Entry e : doc.getEntries()) handleDoc(e);
xew.writeEndElement();
}
use of com.predic8.membrane.annot.model.doc.Doc in project service-proxy by membrane.
the class AdminPageBuilder method createHelpIcon.
private void createHelpIcon(Interceptor i, String id) {
String helpId = i.getHelpId();
if (helpId != null) {
div().style("float:right;");
a().href("http://membrane-soa.org/service-proxy-doc/" + getVersion() + "/configuration/reference/" + helpId + ".htm");
span().classAttr("ui-icon ui-icon-help").title("help").end();
end();
end();
}
}
use of com.predic8.membrane.annot.model.doc.Doc in project service-proxy by membrane.
the class XMLContentFilter method removeElementsIfNecessary.
/**
* @param originalMessage
* @param xopDecodedMessage
* @param doc
* @throws XPathExpressionException
* @throws TransformerException
* @throws TransformerConfigurationException
* @throws TransformerFactoryConfigurationError
*/
private void removeElementsIfNecessary(Message originalMessage, Message xopDecodedMessage, Document doc) throws XPathExpressionException, TransformerException, TransformerConfigurationException, TransformerFactoryConfigurationError {
NodeList toBeDeleted = (NodeList) createXPathExpression().evaluate(doc, XPathConstants.NODESET);
if (toBeDeleted.getLength() > 0) {
// change is necessary
originalMessage.getHeader().removeFields(Header.CONTENT_ENCODING);
if (xopDecodedMessage != null) {
originalMessage.getHeader().removeFields(Header.CONTENT_TYPE);
if (xopDecodedMessage.getHeader().getContentType() != null)
originalMessage.getHeader().setContentType(xopDecodedMessage.getHeader().getContentType());
}
for (int i = 0; i < toBeDeleted.getLength(); i++) {
Node n = toBeDeleted.item(i);
n.getParentNode().removeChild(n);
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
createTransformer().transform(new DOMSource(doc), new StreamResult(baos));
originalMessage.setBodyContent(baos.toByteArray());
}
}
Aggregations