/** * Build a simple Netty HTTP server listening on 127.0.0.1 and 12012 * @return a simple HTTP Server */ public static HttpServer<Buffer, Buffer> httpServer() { return httpServer(DEFAULT_BIND_ADDRESS); }
/** * Utils to read the ChannelStream underlying channel */ @SuppressWarnings("unchecked") public static <E, IN, OUT> E delegate(ChannelStream<IN, OUT> channelStream) { return (E) delegate(channelStream, Object.class); }
/** * @return a Specification to configure and supply a Reconnect handler */ static public Spec.IncrementalBackoffReconnect backoffReconnect() { return new Spec.IncrementalBackoffReconnect(); } }
/** * An alias for {@link reactor.io.net.NetSelectors#http}. * <p> * Creates a {@link reactor.bus.selector.Selector} based on a URI template filtering . * <p> * This will listen for WebSocket Method. * * @param uri The string to compile into a URI template and use for matching * @return The new {@link reactor.bus.selector.UriPathSelector}. * @see reactor.bus.selector.UriPathTemplate * @see reactor.bus.selector.UriPathSelector */ public static HttpSelector ws(String uri) { return http(uri, null, Method.WS); } }
@Override public Publisher<Void> apply(ChannelStream<IN, OUT> inoutChannelStream) { final NettyHttpChannel<IN, OUT> ch = ((NettyHttpChannel<IN, OUT>) inoutChannelStream); return handler.apply(ch); } });
@Override public void accept(IN in) { doDecoded(in); } });
@Override public void subscribe(Subscriber<? super Void> s) { doSubscribeWriter(sourceStream, s); } };
/** * @return a simple HTTP client */ public static HttpClient<Buffer, Buffer> httpClient() { return httpClient(new Function<Spec.HttpClientSpec<Buffer, Buffer>, Spec.HttpClientSpec<Buffer, Buffer>>() { @Override public Spec.HttpClientSpec<Buffer, Buffer> apply(Spec.HttpClientSpec<Buffer, Buffer> clientSpec) { if (Environment.alive()) { clientSpec.env(Environment.get()); } return clientSpec; } }); }
/** * The port on which this server should listen, assuming it should bind to all available addresses. * * @param port The port to listen on. * @return {@literal this} */ @SuppressWarnings("unchecked") public S listen(int port) { return listen(new InetSocketAddress(port)); }
/** * Build a simple Netty HTTP server listening on 127.0.0.1 and 12012 * * @param bindAddress address to listen for (e.g. 0.0.0.0 or 127.0.0.1) * @return a simple HTTP server */ public static HttpServer<Buffer, Buffer> httpServer(String bindAddress) { return httpServer(bindAddress, DEFAULT_PORT); }
/** * An alias for {@link reactor.io.net.NetSelectors#http}. * <p> * Creates a {@link reactor.bus.selector.Selector} based on a URI template filtering . * <p> * This will listen for POST Method. * * @param uri The string to compile into a URI template and use for matching * @return The new {@link reactor.bus.selector.UriPathSelector}. * @see reactor.bus.selector.UriPathTemplate * @see reactor.bus.selector.UriPathSelector */ public static HttpSelector post(String uri) { return http(uri, null, Method.POST); }
@Override public Publisher<Void> apply(ChannelStream<IN, OUT> inoutChannelStream) { final NettyHttpChannel<IN, OUT> ch = ((NettyHttpChannel<IN, OUT>) inoutChannelStream); return handler.apply(ch); } }, reconnect);
/** * Build a simple Netty HTTP server listening on 127.0.0.1 and the passed port * * @param port the port to listen to * @return a simple HTTP server */ public static HttpServer<Buffer, Buffer> httpServer(int port) { return httpServer(DEFAULT_BIND_ADDRESS, port); }
/** * An alias for {@link reactor.io.net.NetSelectors#http}. * <p> * Creates a {@link reactor.bus.selector.Selector} based on a URI template filtering . * <p> * This will listen for GET Method. * * @param uri The string to compile into a URI template and use for matching * @return The new {@link reactor.bus.selector.UriPathSelector}. * @see reactor.bus.selector.UriPathTemplate * @see reactor.bus.selector.UriPathSelector */ public static HttpSelector get(String uri) { return http(uri, null, Method.GET); }
/** * Build a Netty HTTP Server with the passed factory * * @param configuringFunction a factory to build server configuration (see also {@link HttpServerFactory} * @param <IN> incoming data type * @param <OUT> outgoing data type * @return a Netty HTTP server with the passed factory */ public static <IN, OUT> HttpServer<IN, OUT> httpServer( Function<? super Spec.HttpServerSpec<IN, OUT>, ? extends Spec.HttpServerSpec<IN, OUT>> configuringFunction ) { return httpServer(DEFAULT_HTTP_SERVER_TYPE, configuringFunction); }
/** * An alias for {@link reactor.io.net.NetSelectors#http}. * <p> * Creates a {@link reactor.bus.selector.Selector} based on a URI template filtering . * <p> * This will listen for PUT Method. * * @param uri The string to compile into a URI template and use for matching * @return The new {@link reactor.bus.selector.UriPathSelector}. * @see reactor.bus.selector.UriPathTemplate * @see reactor.bus.selector.UriPathSelector */ public static HttpSelector put(String uri) { return http(uri, null, Method.PUT); }
/** * An alias for {@link reactor.io.net.NetSelectors#http}. * <p> * Creates a {@link reactor.bus.selector.Selector} based on a URI template filtering . * <p> * This will listen for DELETE Method. * * @param uri The string to compile into a URI template and use for matching * @return The new {@link reactor.bus.selector.UriPathSelector}. * @see reactor.bus.selector.UriPathTemplate * @see reactor.bus.selector.UriPathSelector */ public static HttpSelector delete(String uri) { return http(uri, null, Method.DELETE); }