private void GoPut(HttpListenerContext context) { var id = uint.Parse(context.Request.Url.AbsolutePath.Substring(1)); if (_endpointDb.Fetch(id) == null) { utils.SetStatus(context, HttpStatusCode.NotFound); return; } var data = utils.ReadPost(context.Request); IList <Endpoint> parsed; try { parsed = YamlParser.FromString(data); } catch { utils.SetStatus(context, HttpStatusCode.BadRequest); return; } if (parsed.Count != 1) { Unprocessable(context); return; } _endpointDb.Replace(id, parsed[0]); }
private void GoPost(HttpListenerContext context) { var data = utils.ReadPost(context.Request); IList <Endpoint> parsed; try { parsed = YamlParser.FromString(data); } catch { utils.SetStatus(context, HttpStatusCode.BadRequest); return; } if (parsed.Count != 1) { Unprocessable(context); return; } uint id; _endpointDb.Insert(parsed[0], out id); utils.AddLocationHeader(context, id); utils.SetStatus(context, HttpStatusCode.Created); }