Kotlin mode
1
package org.wasabi.http
2
3
import java.util.concurrent.Executors
4
import java.net.InetSocketAddress
5
import org.wasabi.app.AppConfiguration
6
import io.netty.bootstrap.ServerBootstrap
7
import io.netty.channel.nio.NioEventLoopGroup
8
import io.netty.channel.socket.nio.NioServerSocketChannel
9
import org.wasabi.app.AppServer
10
11
public class HttpServer(private val appServer: AppServer) {
12
13
val bootstrap: ServerBootstrap
14
val primaryGroup: NioEventLoopGroup
15
val workerGroup: NioEventLoopGroup
16
17
{
18
// Define worker groups
19
primaryGroup = NioEventLoopGroup()
20
workerGroup = NioEventLoopGroup()
21
22
// Initialize bootstrap of server
23
bootstrap = ServerBootstrap()
24
25
bootstrap.group(primaryGroup, workerGroup)
26
bootstrap.channel(javaClass<NioServerSocketChannel>())
27
bootstrap.childHandler(NettyPipelineInitializer(appServer))
28
}
29
30
public fun start(wait: Boolean = true) {
31
val channel = bootstrap.bind(appServer.configuration.port)?.sync()?.channel()
32
Mode for Kotlin (http://kotlin.jetbrains.org/)
Developed by Hadi Hariri (https://github.com/hhariri).
MIME type defined: text/x-kotlin
.