diff --git a/server/src/main/java/ServerMain.kt b/server/src/main/java/ServerMain.kt index f344a878aa0..0e0548d3bcb 100644 --- a/server/src/main/java/ServerMain.kt +++ b/server/src/main/java/ServerMain.kt @@ -27,10 +27,11 @@ val debugMemoryUrl = "/debug/memory" fun main(args: Array) { val carServer = getCarServerThread() -// val webServer = getWebServerThread() + val webServer = getWebServerThread() val carsDestroy = getCarsDestroyThread() carServer.start() carsDestroy.start() + webServer.start() //CL user interface DebugClInterface().run() diff --git a/server/src/main/java/web/server/Handler.kt b/server/src/main/java/web/server/Handler.kt index b4ffd3a1b62..df57e0b9c0d 100644 --- a/server/src/main/java/web/server/Handler.kt +++ b/server/src/main/java/web/server/Handler.kt @@ -1,22 +1,32 @@ package web.server +import io.netty.buffer.Unpooled +import io.netty.channel.ChannelFutureListener import io.netty.channel.ChannelHandlerContext import io.netty.channel.SimpleChannelInboundHandler +import io.netty.handler.codec.http.* +import io.netty.util.CharsetUtil /** * Created by user on 7/6/16. */ class Handler : SimpleChannelInboundHandler() { - var content: StringBuilder = StringBuilder() + var contentBytes: ByteArray = ByteArray(0) override fun channelReadComplete(ctx: ChannelHandlerContext) { - content.setLength(0) + val response = DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, Unpooled.copiedBuffer("" + Math.random() * 10000, CharsetUtil.UTF_8)) + response.headers().setInt(HttpHeaderNames.CONTENT_LENGTH, response.content().readableBytes()) + ctx.writeAndFlush(response).addListener(io.netty.channel.ChannelFutureListener.CLOSE); } override fun channelRead0(ctx: ChannelHandlerContext, msg: Any) { - println(msg) + if (msg is DefaultHttpContent) { + val contentsBytes = msg.content(); + contentBytes = ByteArray(contentsBytes.capacity()) + contentsBytes.readBytes(contentBytes) + } }