diff --git a/src/main/kotlin/net/ccbluex/netty/http/HttpServer.kt b/src/main/kotlin/net/ccbluex/netty/http/HttpServer.kt index e352c61..2f8ce2b 100644 --- a/src/main/kotlin/net/ccbluex/netty/http/HttpServer.kt +++ b/src/main/kotlin/net/ccbluex/netty/http/HttpServer.kt @@ -26,12 +26,9 @@ import io.netty.channel.epoll.EpollEventLoopGroup import io.netty.channel.epoll.EpollServerSocketChannel import io.netty.channel.nio.NioEventLoopGroup import io.netty.channel.socket.nio.NioServerSocketChannel -import io.netty.handler.codec.http.FullHttpResponse import io.netty.handler.logging.LogLevel import io.netty.handler.logging.LoggingHandler import net.ccbluex.netty.http.middleware.Middleware -import net.ccbluex.netty.http.middleware.MiddlewareFunction -import net.ccbluex.netty.http.model.RequestContext import net.ccbluex.netty.http.rest.RouteController import net.ccbluex.netty.http.websocket.WebSocketController import org.apache.logging.log4j.LogManager @@ -47,18 +44,14 @@ class HttpServer { val routeController = RouteController() val webSocketController = WebSocketController() - val middlewares = mutableListOf() + val middlewares = mutableListOf() companion object { internal val logger = LogManager.getLogger("HttpServer") } - fun middleware(middlewareFunction: MiddlewareFunction) { - middlewares += middlewareFunction - } - fun middleware(middleware: Middleware) { - middlewares += middleware::middleware + middlewares += middleware } /** diff --git a/src/main/kotlin/net/ccbluex/netty/http/middleware/CorsMiddleware.kt b/src/main/kotlin/net/ccbluex/netty/http/middleware/CorsMiddleware.kt index 28d2a0a..1b0c036 100644 --- a/src/main/kotlin/net/ccbluex/netty/http/middleware/CorsMiddleware.kt +++ b/src/main/kotlin/net/ccbluex/netty/http/middleware/CorsMiddleware.kt @@ -30,7 +30,7 @@ class CorsMiddleware( * Middleware to handle CORS requests. * Pass to server.middleware() to apply the CORS policy to all requests. */ - override fun middleware(context: RequestContext, response: FullHttpResponse): FullHttpResponse { + override fun invoke(context: RequestContext, response: FullHttpResponse): FullHttpResponse { val httpHeaders = response.headers() val requestOrigin = context.headers["origin"] ?: context.headers["Origin"] diff --git a/src/main/kotlin/net/ccbluex/netty/http/middleware/Middleware.kt b/src/main/kotlin/net/ccbluex/netty/http/middleware/Middleware.kt index 00ea757..5ca240f 100644 --- a/src/main/kotlin/net/ccbluex/netty/http/middleware/Middleware.kt +++ b/src/main/kotlin/net/ccbluex/netty/http/middleware/Middleware.kt @@ -3,8 +3,6 @@ package net.ccbluex.netty.http.middleware import io.netty.handler.codec.http.FullHttpResponse import net.ccbluex.netty.http.model.RequestContext -typealias MiddlewareFunction = (RequestContext, FullHttpResponse) -> FullHttpResponse - -interface Middleware { - fun middleware(context: RequestContext, response: FullHttpResponse): FullHttpResponse +fun interface Middleware { + operator fun invoke(context: RequestContext, response: FullHttpResponse): FullHttpResponse } \ No newline at end of file