Beispiel #1
0
        public NanoHttpResponse Handle(NanoHttpRequest request)
        {
            Hash hash = new Hash(request.Address.Split('/').Last());

            if (hash.Invalid)
            {
                return(new ErrorHandler(StatusCode.BadRequest, "Invalid hash").Handle(request));
            }

            try
            {
                var tag = _db.Get(hash).ContainerTag;

                for (int i = 0; i < _db.GetPostCount(); i++)
                {
                    var p = _db.GetPost(i);

                    if (p.ContainerTag != null && p.ContainerTag.Equals(tag))
                    {
                        _db.HideOnce(p.GetHash());
                    }
                }

                return(new NanoHttpResponse(StatusCode.Ok, "\n"));
            }

            catch (Exception e)
            {
                return(new ErrorHandler(StatusCode.InternalServerError, e.ToString().Replace("\n", "<br>")).Handle(request));
            }
        }