UNPKG

apigeelint

Version:

Node module and tool to lint a bundle for an Apigee API Proxy or sharedflow.

107 lines (85 loc) 2.78 kB
<ProxyEndpoint name="endpoint1"> <Description/> <HTTPProxyConnection> <BasePath>/response-shaping</BasePath> <VirtualHost>secure</VirtualHost> </HTTPProxyConnection> <PreFlow name="PreFlow"> <Request> <Step> <!-- filter out invalid requests --> <Name>RF-BadRequest</Name> <Condition>(request.header.accept = null) or (request.header.accept =| "application/xml") or (request.header.accept =| "text/xml") or (request.verb != "GET")</Condition> </Step> </Request> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response> <Step><Name>AM-CleanResponseHeaders</Name></Step> </Response> </PostFlow> <FaultRules> <FaultRule name="invalid-key"> <Step> <Name>AM-InvalidApiKey</Name> </Step> <Condition>fault.name = "InvalidApiKey" OR fault.name = "InvalidApiKeyForGivenResource"</Condition> </FaultRule> <FaultRule name="missing-key"> <Step> <Name>AM-MissingKey</Name> </Step> <Condition>fault.name = "FailedToResolveAPIKey"</Condition> </FaultRule> <FaultRule name="key-expired"> <Step> <Name>AM-ExpiredKey</Name> </Step> <Condition>fault.name = "consumer_key_expired"</Condition> </FaultRule> </FaultRules> <Flows> <!-- all of the following get IATA info --> <Flow name='passthrough'> <Request> <Step><Name>VerifyAPIKey-1</Name></Step> <Step><Name>EV-Keyword</Name></Step> </Request> <Response> <!-- no filtering done here --> </Response> <Condition>(proxy.pathsuffix MatchesPath "/iata-t1/*") and (request.verb = "GET")</Condition> </Flow> <Flow name='shape response based on developer app'> <Request> <Step><Name>VerifyAPIKey-1</Name></Step> <Step><Name>EV-Keyword</Name></Step> </Request> <Response> <Step><Name>JS-ApplyFieldFilter-Client</Name></Step> </Response> <Condition>(proxy.pathsuffix MatchesPath "/iata-t2/*") and (request.verb = "GET")</Condition> </Flow> <Flow name='shape response based on API Product'> <Request> <Step><Name>VerifyAPIKey-1</Name></Step> <Step><Name>EV-Keyword</Name></Step> </Request> <Response> <Step><Name>JS-ApplyFieldFilter-Product</Name></Step> </Response> <Condition>(proxy.pathsuffix MatchesPath "/iata-t3/*") and (request.verb = "GET")</Condition> </Flow> <Flow name='unknown request'> <Request> <Step><Name>RF-UnknownRequest</Name></Step> </Request> <Response/> </Flow> </Flows> <RouteRule name="default"> <TargetEndpoint>amadeus</TargetEndpoint> </RouteRule> </ProxyEndpoint>