fixed first round of bugs
This commit is contained in:
parent
a1ee169d09
commit
7dfa93d3c0
1 changed files with 8 additions and 9 deletions
|
|
@ -133,7 +133,6 @@ proc returnEPC(socket: var Socket, uid: string, s: SexpNode, return_symbol = "re
|
||||||
let response = $convertSexp([newSSymbol(return_symbol), [uid, s]])
|
let response = $convertSexp([newSSymbol(return_symbol), [uid, s]])
|
||||||
socket.send(toHex(len(response), 6))
|
socket.send(toHex(len(response), 6))
|
||||||
socket.send(response)
|
socket.send(response)
|
||||||
socket.close()
|
|
||||||
|
|
||||||
proc nextFreePort(server: Socket, host: string, start = 30000): int =
|
proc nextFreePort(server: Socket, host: string, start = 30000): int =
|
||||||
result = start
|
result = start
|
||||||
|
|
@ -235,9 +234,9 @@ proc serve() =
|
||||||
var messageBuffer = ""
|
var messageBuffer = ""
|
||||||
if client.recv(messageBuffer, size) != size:
|
if client.recv(messageBuffer, size) != size:
|
||||||
raise newException(ValueError, "didn't get all the bytes")
|
raise newException(ValueError, "didn't get all the bytes")
|
||||||
let message = parseSexp($messageBuffer)
|
let
|
||||||
let messageType = message[0].getSymbol
|
message = parseSexp($messageBuffer)
|
||||||
let body = message[1]
|
messageType = message[0].getSymbol
|
||||||
try:
|
try:
|
||||||
case messageType:
|
case messageType:
|
||||||
of "call":
|
of "call":
|
||||||
|
|
@ -246,9 +245,9 @@ proc serve() =
|
||||||
results.add(s)
|
results.add(s)
|
||||||
|
|
||||||
let
|
let
|
||||||
uid = body[0].getStr
|
uid = message[1].getStr
|
||||||
cmd = parseIdeCmd(body[1].getStr)
|
cmd = parseIdeCmd(message[2].getStr)
|
||||||
args = body[2]
|
args = message[3]
|
||||||
executeEPC(cmd, args)
|
executeEPC(cmd, args)
|
||||||
returnEPC(client, uid, sexp(results))
|
returnEPC(client, uid, sexp(results))
|
||||||
of "return":
|
of "return":
|
||||||
|
|
@ -259,11 +258,11 @@ proc serve() =
|
||||||
stderr.writeln("recieved epc error: " & $messageBuffer)
|
stderr.writeln("recieved epc error: " & $messageBuffer)
|
||||||
raise newException(IOError, "epc error")
|
raise newException(IOError, "epc error")
|
||||||
of "methods":
|
of "methods":
|
||||||
returnEPC(client, body[0].getStr, listEPC())
|
returnEPC(client, message[1].getStr, listEPC())
|
||||||
else:
|
else:
|
||||||
raise newException(EUnexpectedCommand, "unexpected call: " & messageType)
|
raise newException(EUnexpectedCommand, "unexpected call: " & messageType)
|
||||||
except:
|
except:
|
||||||
returnEPC(client, body[0].getStr, sexp(getCurrentExceptionMsg()), "return-error")
|
returnEPC(client, message[1].getStr, sexp(getCurrentException().getStackTrace()), "return-error")
|
||||||
|
|
||||||
proc mainCommand =
|
proc mainCommand =
|
||||||
registerPass verbosePass
|
registerPass verbosePass
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue