Examples showing Interceptor Usage
The distribution contain many samples that show how to use Membrane API Gateway. Each example can be found in a subdirectory within the examples directory of the distribution. There is a README.txt file for each example located in the respective directory. The readme explains how to run the example and how it works.
|Access Control List
|Shows how to protect resourcs based on client ip, hostname and URI.
|Shows an API Management example including API keys and rate limiting.
|Explains how to secure a resource with HTTP Basic Authentication.
|Content Based Routing
|Shows how to configure content based routing.
|How to write custom Java code modifying responses and requests.
|Custom Websocket Interceptor
|How to write custom Java code modifying WebSocket frames.
|How to build a Docker Image containing Membrane and its configuration.
|How to start Membrane from your own Java program.
|Logging to File System
|Shows how to log exchanges to the file system.
|How to run Groovy scripts on responses and requests.
|Distribution of calls to several endpoints.
|Show how to log request and response with log settings.
|Logging to CSV
|Shows how to log request and response to CSV files.
|Logging to JDBC
|Shows how to log request and response to a JDBC compliant database.
|Shows how to setup authentication using a simple login screen, the first step to Single Sign On.
|Shows how to programmatically retrieve a Bearer Token, granting automated access to resources protected by a OAuth2 compatible Authorization Server.
|Shows the OAuth2 password flow. A client requests an access token and the token is verified through a token validator.
|OAuth2 with Github
|Shows how setup an OAuth2 client to verify users have successfully logged in at Github.
|OAuth2 with Google
|Shows how setup an OAuth2 client to verify users have successfully logged in at Google.
|OAuth2 Code Flow
|Shows the OAuth2 code flow, using Membrane to host your own OAuth2 compatible Authorization Server.
|Open ID Connect (OIDC)
|Shows how to setup Membrane as an OIDC client, realizing Single Sign On.
|Shows how to setup Membrane as a HTTP proxy.
|Introduces general configuration and interceptors to transform the messages using regular expressions or XSLT stylesheets.
|Introduces general configuration, SOAP validation and the exposing of Web services as REST resources.
|Shows how to limit the number of requests in a given interval.
|REST 2 SOAP
|Demonstrate how to call a SOAP Web Service by using a HTTP GET request.
|REST 2 SOAP with JSON
|Same as REST 2 SOAP, but the response will be a JSON object, transforming the result to JSON.
|URL Rewriting with Regular Expressions.
|Describes how to change URLs.
|Service discovery with etcd
|Shows how to discover services at runtime. Services can publish and configurate themselfs based on the etcd registry.
|Spring Expression Language
|Shows how to use variables and placeholders in your proxies.xml file.
|Shows how to setup Membrane as a TLS/SSL client when connecting to other services.
|Shows how to setup Membrane as a TLS/SSL server, when services are connecting to Membrane.
|Shows how to modify STOMP messages using custom groovy code traversing Membrane as WebSocket frames.
|Shows how to expose Swagger-based services using Membrane.
|Shows how to delay and limit parallel requests.
|Demonstrates how to validate bodies of the format application/x-www-form-urlencoded.
|JSON Schema Validation
|Demonstrate how to validate JSON messages against JSON schema files.
|XML Schematron Validation
|Demonstrate how to validate XML messages against Schematron schemas.
|Demonstrate how to validate SOAP messages against WSDL definitions and XML schemas
|Demonstrate how to validate XML messages against XML schemas.
|Versioning SOAP Web Services using a Content Based Router
|Describes Web Services Versioning realized by keeping the endpoint, but using versioned endpoint implementations.
|Versioning SOAP Web Services using different endpoints with a XSLT transformation
|Describes Web Services Versioning realized by creating new endpoints, and using XSLT to do translate between versions.
|Shows how to log Web Socket frames.
|WebSocket with STOMP
|Shows how to setup Membrane to connect a Website (HTML, JS, CSS) with an message broker (e.g. ActiveMQ), allowing you asynchronous communication from HTTP server to HTTP client.
|Transformation of a responses XML content with XSLT.