Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
)
const metadata: Core.IThriftMessage = input.readMessageBegin()
const fieldName: string = metadata.fieldName
const requestId: number = metadata.requestId
const output: Core.TProtocol = new Protocol(
new Transport(),
)
const exception: Core.TApplicationException = new Core.TApplicationException(
Core.TApplicationExceptionType.INTERNAL_ERROR,
response.message as string, // If we're dealing with an error this is an Error not a Response
)
output.writeMessageBegin(
fieldName,
Core.MessageType.EXCEPTION,
requestId,
)
Core.TApplicationExceptionCodec.encode(
exception,
output,
)
output.writeMessageEnd()
return reply.response(output.flush()).code(500)
} catch (err) {
logger(
['error', 'ThriftServerHapi'],
`Unable to build TApplicationException for response error: ${err.message}`,
)
return reply.continue
}
(
req: http.IncomingMessage,
res: http.ServerResponse,
): void => {
if (count < 1) {
count += 1
const upgradeResponse: TTwitter.IUpgradeReply = {}
const writer: thrift.TTransport = new thrift.BufferedTransport()
const output: thrift.TProtocol = new thrift.BinaryProtocol(
writer,
)
output.writeMessageBegin(
'add',
thrift.MessageType.CALL,
1,
)
TTwitter.UpgradeReplyCodec.encode(
upgradeResponse,
output,
)
output.writeMessageEnd()
res.writeHead(200)
res.end(writer.flush())
} else {
const responseHeader: TTwitter.IResponseHeader = {}
const writer: thrift.TTransport = new thrift.BufferedTransport()
const output: thrift.TProtocol = new thrift.BinaryProtocol(
writer,
)
output.writeMessageBegin(
socket.addListener('data', (chunk: Buffer) => {
const writer: thrift.TTransport = new thrift.BufferedTransport()
const output: thrift.TProtocol = new thrift.BinaryProtocol(
writer,
)
output.writeMessageBegin(
'add',
thrift.MessageType.CALL,
1,
)
const result: Calculator.IAdd__Result = {
success: 102,
}
Calculator.Add__ResultCodec.encode(result, output)
output.writeMessageEnd()
const data: Buffer = writer.flush()
socket.write(frameCodec.encode(data))
})
})
handler(
request: IThriftRequest,
next: NextFunction,
): Promise {
const writer: thrift.TTransport = new thrift.BufferedTransport()
const output: thrift.TProtocol = new thrift.BinaryProtocol(
writer,
)
output.writeMessageBegin(
'addWithContext',
thrift.MessageType.CALL,
20,
)
const args: Calculator.AddWithContext__Args = new Calculator.AddWithContext__Args(
{ num1: 20, num2: 60 },
)
args.write(output)
output.writeMessageEnd()
return next(writer.flush())
},
},