test web server, return just random number

This commit is contained in:
MaximZaitsev
2016-08-22 11:17:11 +03:00
parent ca6159269a
commit 8f9f7421ac
2 changed files with 15 additions and 4 deletions
+2 -1
View File
@@ -27,10 +27,11 @@ val debugMemoryUrl = "/debug/memory"
fun main(args: Array<String>) { fun main(args: Array<String>) {
val carServer = getCarServerThread() val carServer = getCarServerThread()
// val webServer = getWebServerThread() val webServer = getWebServerThread()
val carsDestroy = getCarsDestroyThread() val carsDestroy = getCarsDestroyThread()
carServer.start() carServer.start()
carsDestroy.start() carsDestroy.start()
webServer.start()
//CL user interface //CL user interface
DebugClInterface().run() DebugClInterface().run()
+13 -3
View File
@@ -1,22 +1,32 @@
package web.server package web.server
import io.netty.buffer.Unpooled
import io.netty.channel.ChannelFutureListener
import io.netty.channel.ChannelHandlerContext import io.netty.channel.ChannelHandlerContext
import io.netty.channel.SimpleChannelInboundHandler import io.netty.channel.SimpleChannelInboundHandler
import io.netty.handler.codec.http.*
import io.netty.util.CharsetUtil
/** /**
* Created by user on 7/6/16. * Created by user on 7/6/16.
*/ */
class Handler : SimpleChannelInboundHandler<Any>() { class Handler : SimpleChannelInboundHandler<Any>() {
var content: StringBuilder = StringBuilder() var contentBytes: ByteArray = ByteArray(0)
override fun channelReadComplete(ctx: ChannelHandlerContext) { 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) { override fun channelRead0(ctx: ChannelHandlerContext, msg: Any) {
println(msg) if (msg is DefaultHttpContent) {
val contentsBytes = msg.content();
contentBytes = ByteArray(contentsBytes.capacity())
contentsBytes.readBytes(contentBytes)
}
} }