add handler with logging

This commit is contained in:
DieMyst 2019-04-09 16:13:52 +03:00
parent 64a73d30c9
commit c53439e087

View File

@ -92,6 +92,26 @@ export function stringHandler(ptr: usize, size: usize, handler: (request: string
return responseAddr;
}
/**
* Reads request as a string, handles a request and returns pointer on a response.
* Logs request and response.
*
*/
export function loggedStringHandler(ptr: usize, size: usize, handler: (request: string) => string, log: (msg: string) => void): usize {
let strRequest = readRequestString(ptr, size);
log("Request: " + strRequest);
let result = handler(strRequest);
let responseAddr = writeResponseString(result);
memory.free(ptr);
memory.free(changetype<usize>(strRequest));
log("Response: " + result);
return responseAddr;
}
/**
* Reads request as bytes, handles a request and returns pointer on a response.
*