diff --git a/multi/multi__developer_guide.html b/multi/multi__developer_guide.html index 06dcb185..17ee88c9 100644 --- a/multi/multi__developer_guide.html +++ b/multi/multi__developer_guide.html @@ -1,36 +1,50 @@
TODO: overview of writing custom integrations
In order to write a GatewayFilter you will need to implement GatewayFilterFactory. There is an abstract class called AbstractGatewayFilterFactory which you can extend.
PreGatewayFilterFactory.java. -
--- -public class PreGatewayFilterFactory extends AbstractGatewayFilterFactory<PreGatewayFilterFactory.Config> {
-
public PreGatewayFilterFactory() {
- super(Config.class);
-}@Override
-public GatewayFilter apply(Config config) {
- // grab configuration from Config object
- return (exchange, chain) -> {
- //If you want to build a "pre" filter you need to manipulate the
- //request before calling change.filter
- ServerHttpRequest.Builder builder = exchange.getRequest().mutate();
- //use builder to manipulate the request
- return chain.filter(exchange.mutate().request(request).build());
- };
-}public static class Config {
- //Put the configuration properties for your filter here
-}}
PostGatewayFilterFactory.java. -
--- -public class PostGatewayFilterFactory extends AbstractGatewayFilterFactory<PostGatewayFilterFactory.Config> {
-
public PostGatewayFilterFactory() {
- super(Config.class);
-}@Override
-public GatewayFilter apply(Config config) {
- // grab configuration from Config object
- return (exchange, chain) -> {
- return chain.filter(exchange).then(Mono.fromRunnable(() -> {
- ServerHttpReponse response = exchange.getResponse();
- //Manipulate the response in some way
- }));
- };
-}public static class Config {
- //Put the configuration properties for your filter here
-}}
public class PreGatewayFilterFactory extends AbstractGatewayFilterFactory<PreGatewayFilterFactory.Config> { + + public PreGatewayFilterFactory() { + super(Config.class); + } + + @Override + public GatewayFilter apply(Config config) { + // grab configuration from Config object + return (exchange, chain) -> { + //If you want to build a "pre" filter you need to manipulate the + //request before calling change.filter + ServerHttpRequest.Builder builder = exchange.getRequest().mutate(); + //use builder to manipulate the request + return chain.filter(exchange.mutate().request(request).build()); + }; + } + + public static class Config { + //Put the configuration properties for your filter here + } + +}
+
PostGatewayFilterFactory.java. +
public class PostGatewayFilterFactory extends AbstractGatewayFilterFactory<PostGatewayFilterFactory.Config> { + + public PostGatewayFilterFactory() { + super(Config.class); + } + + @Override + public GatewayFilter apply(Config config) { + // grab configuration from Config object + return (exchange, chain) -> { + return chain.filter(exchange).then(Mono.fromRunnable(() -> { + ServerHttpReponse response = exchange.getResponse(); + //Manipulate the response in some way + })); + }; + } + + public static class Config { + //Put the configuration properties for your filter here + } + +}
+