public async Task <IActionResult> CreateServer(
            CreateServerRequest request,
            CancellationToken cancellationToken)
        {
            var server = await Mediator.Send(
                new CreateServerCommand(request.ServerName),
                cancellationToken);

            var response = new CreateServerResponse(server);

            return(CreatedAtAction(
                       nameof(GetServer),
                       new { serverId = server.Id },
                       response));
        }
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>  
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            CreateServerResponse response = new CreateServerResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;
            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Server", targetDepth))
                {
                    var unmarshaller = CMServerUnmarshaller.Instance;
                    response.Server = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return response;
        }