handleIncomingRequest method
Handles an incoming request, calling the appropriate method to handle it.
responseWriter
is a function that will be provided the response to be
sent on the stream. It is critical that this sends the response
synchronously because additional events may be sent by handlers that must
come after it.
Implementation
void handleIncomingRequest(
Request request,
void Function(Response) responseWriter,
) {
if (request.command == 'initialize') {
handle(
request,
initializeRequest,
DartInitializeRequestArguments.fromJson,
responseWriter,
);
} else if (request.command == 'launch') {
handle(
request,
_withVoidResponse(launchRequest),
parseLaunchArgs,
responseWriter,
);
} else if (request.command == 'attach') {
handle(
request,
_withVoidResponse(attachRequest),
parseAttachArgs,
responseWriter,
);
} else if (request.command == 'restart') {
handle(
request,
_withVoidResponse(restartRequest),
_allowNullArg(RestartArguments.fromJson),
responseWriter,
);
} else if (request.command == 'terminate') {
handle(
request,
_withVoidResponse(terminateRequest),
_allowNullArg(TerminateArguments.fromJson),
responseWriter,
);
} else if (request.command == 'disconnect') {
handle(
request,
_withVoidResponse(disconnectRequest),
_allowNullArg(DisconnectArguments.fromJson),
responseWriter,
);
} else if (request.command == 'configurationDone') {
handle(
request,
_withVoidResponse(configurationDoneRequest),
_allowNullArg(ConfigurationDoneArguments.fromJson),
responseWriter,
);
} else if (request.command == 'setBreakpoints') {
handle(
request,
setBreakpointsRequest,
SetBreakpointsArguments.fromJson,
responseWriter,
);
} else if (request.command == 'setExceptionBreakpoints') {
handle(
request,
setExceptionBreakpointsRequest,
SetExceptionBreakpointsArguments.fromJson,
responseWriter,
);
} else if (request.command == 'pause') {
handle(
request,
_withVoidResponse(pauseRequest),
PauseArguments.fromJson,
responseWriter,
);
} else if (request.command == 'continue') {
handle(
request,
continueRequest,
ContinueArguments.fromJson,
responseWriter,
);
} else if (request.command == 'next') {
handle(
request,
_withVoidResponse(nextRequest),
NextArguments.fromJson,
responseWriter,
);
} else if (request.command == 'stepIn') {
handle(
request,
_withVoidResponse(stepInRequest),
StepInArguments.fromJson,
responseWriter,
);
} else if (request.command == 'stepOut') {
handle(
request,
_withVoidResponse(stepOutRequest),
StepOutArguments.fromJson,
responseWriter,
);
} else if (request.command == 'restartFrame') {
handle(
request,
_withVoidResponse(restartFrameRequest),
RestartFrameArguments.fromJson,
responseWriter,
);
} else if (request.command == 'threads') {
handle(
request,
threadsRequest,
_voidArgs,
responseWriter,
);
} else if (request.command == 'stackTrace') {
handle(
request,
stackTraceRequest,
StackTraceArguments.fromJson,
responseWriter,
);
} else if (request.command == 'source') {
handle(
request,
sourceRequest,
SourceArguments.fromJson,
responseWriter,
);
} else if (request.command == 'scopes') {
handle(
request,
scopesRequest,
ScopesArguments.fromJson,
responseWriter,
);
} else if (request.command == 'variables') {
handle(
request,
variablesRequest,
VariablesArguments.fromJson,
responseWriter,
);
} else if (request.command == 'evaluate') {
handle(
request,
evaluateRequest,
EvaluateArguments.fromJson,
responseWriter,
);
} else {
handle(
request,
customRequest,
_allowNullArg(RawRequestArguments.fromJson),
responseWriter,
);
}
}