Ejemplo n.º 1
0
        public void CreateClient(HttpContext context)
        {
            Client client;

            if (context.Request.Payload.Length > 0)
            {
                Client input = JsonSerializer.DeserializeJson <Client>(context.Request.Payload.ReadAll());
                if (input == null)
                {
                    throw new HttpRequestException(JsonSerializer.SerializeJson(new ErrorMessage("The input data cannot be parsed", 400)), MimeType.APPLICATION_JSON)
                          {
                              Status = SKotstein.Net.Http.Context.HttpStatus.BadRequest
                          };
                }
                else
                {
                    client = _handler.CreateClient(input);
                }
            }
            else
            {
                client = _handler.CreateClient(new Client());
            }
            string json = JsonSerializer.SerializeJson(client);

            context.Response.Payload.Write(json);
            context.Response.Headers.Set("Location", ApiBase.API_V1 + "/clients/" + client.ClientId);
            context.Response.Status = HttpStatus.Created;
        }