コード例 #1
0
        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]);
        }
コード例 #2
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);
        }