Refactor: Use RequestContext in SessionReader when instantiating responses
This commit is contained in:
+6
-9
@@ -46,11 +46,13 @@ public class SessionReader implements Runnable {
|
|||||||
while (!Thread.currentThread().isInterrupted()) {
|
while (!Thread.currentThread().isInterrupted()) {
|
||||||
RawPacket rawPacket = null;
|
RawPacket rawPacket = null;
|
||||||
RawRequest rawRequest = null;
|
RawRequest rawRequest = null;
|
||||||
|
RequestContext requestContext = null;
|
||||||
try {
|
try {
|
||||||
// Step 1: Read from transport
|
// Step 1: Read from transport
|
||||||
rawPacket = transport.read();
|
rawPacket = transport.read();
|
||||||
session.updateLastInboundActivity();
|
session.updateLastInboundActivity();
|
||||||
logger.debug("Recieved: {}", rawPacket);
|
logger.debug("Recieved: {}", rawPacket);
|
||||||
|
requestContext = new RequestContext(session.getId(), rawPacket.requestId());
|
||||||
|
|
||||||
// Step 2: Syntax validation and conversion into transport object
|
// Step 2: Syntax validation and conversion into transport object
|
||||||
rawRequest = ProtocolParser.parse(rawPacket.payload());
|
rawRequest = ProtocolParser.parse(rawPacket.payload());
|
||||||
@@ -58,9 +60,7 @@ public class SessionReader implements Runnable {
|
|||||||
|
|
||||||
PrimitiveRequest primitiveRequest =
|
PrimitiveRequest primitiveRequest =
|
||||||
new PrimitiveRequest(
|
new PrimitiveRequest(
|
||||||
new RequestContext(session.getId(), rawPacket.requestId()),
|
requestContext, rawRequest.command(), rawRequest.parameters());
|
||||||
rawRequest.command(),
|
|
||||||
rawRequest.parameters());
|
|
||||||
logger.debug("Converted to {}", primitiveRequest);
|
logger.debug("Converted to {}", primitiveRequest);
|
||||||
|
|
||||||
// Step 3: Parse into Request and execute Request
|
// Step 3: Parse into Request and execute Request
|
||||||
@@ -76,8 +76,7 @@ public class SessionReader implements Runnable {
|
|||||||
|
|
||||||
sendErrorResponse(
|
sendErrorResponse(
|
||||||
new ErrorResponse(
|
new ErrorResponse(
|
||||||
session.getId(),
|
requestContext,
|
||||||
rawPacket.requestId(),
|
|
||||||
"PARSING_ERROR",
|
"PARSING_ERROR",
|
||||||
"Error occured during parsing. Likely due to malformed payload."));
|
"Error occured during parsing. Likely due to malformed payload."));
|
||||||
|
|
||||||
@@ -85,8 +84,7 @@ public class SessionReader implements Runnable {
|
|||||||
logger.error("Recieved unknown command '{}' from client", rawRequest.command(), e);
|
logger.error("Recieved unknown command '{}' from client", rawRequest.command(), e);
|
||||||
sendErrorResponse(
|
sendErrorResponse(
|
||||||
new ErrorResponse(
|
new ErrorResponse(
|
||||||
session.getId(),
|
requestContext,
|
||||||
rawPacket.requestId(),
|
|
||||||
"UNKNOWN_COMMAND",
|
"UNKNOWN_COMMAND",
|
||||||
"This command is unknown to the server."));
|
"This command is unknown to the server."));
|
||||||
|
|
||||||
@@ -97,8 +95,7 @@ public class SessionReader implements Runnable {
|
|||||||
logger.error("Unexpected RuntimeException occured", e);
|
logger.error("Unexpected RuntimeException occured", e);
|
||||||
sendErrorResponse(
|
sendErrorResponse(
|
||||||
new ErrorResponse(
|
new ErrorResponse(
|
||||||
session.getId(),
|
requestContext,
|
||||||
rawPacket.requestId(),
|
|
||||||
"INTERNAL_ERROR",
|
"INTERNAL_ERROR",
|
||||||
"Unexpected internal server error occured."));
|
"Unexpected internal server error occured."));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user