receipt server answer

This commit is contained in:
MaximZaitsev
2016-07-14 15:59:55 +03:00
parent c122159983
commit ab6c215f34
2 changed files with 18 additions and 12 deletions
@@ -2,6 +2,7 @@ package client
import io.netty.channel.ChannelHandlerContext
import io.netty.channel.SimpleChannelInboundHandler
import io.netty.handler.codec.http.DefaultHttpContent
import io.netty.handler.codec.http.HttpContent
/**
@@ -19,15 +20,11 @@ class ClientHandler : SimpleChannelInboundHandler<Any> {
override fun channelReadComplete(ctx: ChannelHandlerContext) {
var resultCode: Int = 0
// try {
// val uploadResult: Carkot.UploadResult = Carkot.UploadResult.parseFrom(contentBytes)
// resultCode = uploadResult.resultCode
// } catch (e: InvalidProtocolBufferException) {
// e.printStackTrace()
//
// resultCode = 2
// }
if (contentBytes.size == 0) {
ctx.close()
return
}
val resultCode: Int = contentBytes[0].toInt()
synchronized(requestResult, {
requestResult.code = resultCode
})
@@ -35,7 +32,7 @@ class ClientHandler : SimpleChannelInboundHandler<Any> {
}
override fun channelRead0(ctx: ChannelHandlerContext?, msg: Any?) {
if (msg is HttpContent) {
if (msg is DefaultHttpContent) {
val contentsBytes = msg.content();
contentBytes = ByteArray(contentsBytes.capacity())
contentsBytes.readBytes(contentBytes)
@@ -14,6 +14,8 @@ class ClientHandler : SimpleChannelInboundHandler<Any> {
object requestResult {
var code: Int = -1
var stdOut: String = ""
var stdErr: String = ""
}
constructor()
@@ -22,17 +24,24 @@ class ClientHandler : SimpleChannelInboundHandler<Any> {
override fun channelReadComplete(ctx: ChannelHandlerContext) {
var resultCode = 0
val resultCode:Int
val resultStdOut:String
val resultStdErr:String
try {
val uploadResult: Carkot.UploadResult = Carkot.UploadResult.parseFrom(contentBytes)
resultCode = uploadResult.resultCode
resultStdOut = uploadResult.stdOut
resultStdErr = uploadResult.stdErr
} catch (e: InvalidProtocolBufferException) {
e.printStackTrace()
resultStdErr = ""
resultStdOut = ""
resultCode = 2
}
synchronized(requestResult, {
requestResult.code = resultCode
requestResult.stdErr = resultStdErr
requestResult.stdOut = resultStdOut
})
ctx.close()
}