protected override void DispatchRequest()

in src/csharp/DebugSession.cs [280:390]


		protected override void DispatchRequest(string command, dynamic args, Response response)
		{
			if (args == null) {
				args = new { };
			}

			try {
				switch (command) {

				case "initialize":
					if (args.linesStartAt1 != null) {
						_clientLinesStartAt1 = (bool)args.linesStartAt1;
					}
					var pathFormat = (string)args.pathFormat;
					if (pathFormat != null) {
						switch (pathFormat) {
						case "uri":
							_clientPathsAreURI = true;
							break;
						case "path":
							_clientPathsAreURI = false;
							break;
						default:
							SendErrorResponse(response, 1015, "initialize: bad value '{_format}' for pathFormat", new { _format = pathFormat });
							return;
						}
					}
					Initialize(response, args);
					break;

				case "launch":
					Launch(response, args);
					break;

				case "attach":
					Attach(response, args);
					break;

				case "disconnect":
					Disconnect(response, args);
					break;

				case "next":
					Next(response, args);
					break;

				case "continue":
					Continue(response, args);
					break;

				case "stepIn":
					StepIn(response, args);
					break;

				case "stepOut":
					StepOut(response, args);
					break;

				case "pause":
					Pause(response, args);
					break;

				case "stackTrace":
					StackTrace(response, args);
					break;

				case "scopes":
					Scopes(response, args);
					break;

				case "variables":
					Variables(response, args);
					break;

				case "source":
					Source(response, args);
					break;

				case "threads":
					Threads(response, args);
					break;

				case "setBreakpoints":
					SetBreakpoints(response, args);
					break;

				case "setFunctionBreakpoints":
					SetFunctionBreakpoints(response, args);
					break;

				case "setExceptionBreakpoints":
					SetExceptionBreakpoints(response, args);
					break;

				case "evaluate":
					Evaluate(response, args);
					break;

				default:
					SendErrorResponse(response, 1014, "unrecognized request: {_request}", new { _request = command });
					break;
				}
			}
			catch (Exception e) {
				SendErrorResponse(response, 1104, "error while processing request '{_request}' (exception: {_exception})", new { _request = command, _exception = e.Message });
			}

			if (command == "disconnect") {
				Stop();
			}
		}