apigeelint
Version:
Node module and tool to lint a bundle for an Apigee API Proxy or sharedflow.
244 lines (225 loc) • 7.04 kB
text/xml
<ProxyEndpoint name="endpoint1">
<Description>Proxy for Java callout for WS-Security encryption</Description>
<HTTPProxyConnection>
<BasePath>/wssec-enc</BasePath>
<VirtualHost>secure</VirtualHost>
</HTTPProxyConnection>
<FaultRules/>
<DefaultFaultRule>
<AlwaysEnforce>true</AlwaysEnforce>
<Step>
<Name>AM-Inject-Proxy-Revision-Header</Name>
</Step>
</DefaultFaultRule>
<PreFlow name="PreFlow">
<Request>
<Step>
<Name>AM-Key-And-Cert</Name>
</Step>
</Request>
<Response>
<Step>
<Name>AM-Clean-Request-Headers-From-Response</Name>
</Step>
</Response>
</PreFlow>
<PostFlow name="PostFlow">
<Request/>
<Response>
<Step>
<Name>AM-Inject-Proxy-Revision-Header</Name>
</Step>
</Response>
</PostFlow>
<Flows>
<Flow name="encrypt1">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Encrypt-1</Name>
</Step>
<Step>
<Name>AM-Response-for-Encrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/encrypt1") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="encrypt2">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Encrypt-2</Name>
</Step>
<Step>
<Name>AM-Response-for-Encrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/encrypt2") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="encrypt3">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Encrypt-3</Name>
</Step>
<Step>
<Name>AM-Response-for-Encrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/encrypt3") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="encrypt4">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Encrypt-4</Name>
</Step>
<Step>
<Name>AM-Response-for-Encrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/encrypt4") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="encrypt5">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Encrypt-5</Name>
</Step>
<Step>
<Name>AM-Response-for-Encrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/encrypt5") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="encrypt6">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Encrypt-6</Name>
</Step>
<Step>
<Name>AM-Response-for-Encrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/encrypt6") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="encrypt7">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Encrypt-7</Name>
</Step>
<Step>
<Name>AM-Response-for-Encrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/encrypt7") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="decrypt1">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Decrypt-1</Name>
</Step>
<Step>
<Name>AM-Response-for-Decrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/decrypt1") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="decrypt2">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
<Step>
<Condition>request.queryparam.thumbprint = null</Condition>
<Name>RF-Missing-Thumbprint</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Decrypt-2</Name>
</Step>
<Step>
<Name>AM-Response-for-Decrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/decrypt2") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="decrypt3">
<Request>
<Step>
<Condition>NOT((request.header.content-type =| "text/xml") OR (request.header.content-type =| "application/xml" ))</Condition>
<Name>RF-Invalid-Request</Name>
</Step>
<Step>
<Condition>request.queryparam.thumbprint = null</Condition>
<Name>RF-Missing-Thumbprint</Name>
</Step>
</Request>
<Response>
<Step>
<Name>Java-WSSEC-Decrypt-3</Name>
</Step>
<Step>
<Name>AM-Response-for-Decrypt</Name>
</Step>
</Response>
<Condition>(proxy.pathsuffix ~ "/decrypt3") and (request.verb = "POST")</Condition>
</Flow>
<Flow name="unknown">
<Description>Unknown request</Description>
<Request>
<Step>
<Name>RF-Unknown-Request</Name>
</Step>
</Request>
<Response/>
</Flow>
</Flows>
<RouteRule name="LoopbackRoute">
</RouteRule>
</ProxyEndpoint>