public void post_snippet_edit(SnippetRequest request)
        {
            var snippet = get_snippet_Bottle_Name(request);
            var file    = _files.Find(snippet.File);

            EditorLauncher.LaunchFile(file.Path);
        }
Exemple #2
0
        public override MiddlewareContinuation Invoke(IHttpRequest request, IHttpResponse response)
        {
            if (request.IsNotHttpMethod("GET", "HEAD"))
            {
                return(MiddlewareContinuation.Continue());
            }

            // TODO -- hokey. Get rid of this as we switch over to pure OWIN instead
            // of the IHttp**** wrappers
            var relativeUrl = request.RelativeUrl().Split('?').FirstOrDefault();

            // Gets around what I *think* is a Katana bug
            if (relativeUrl.StartsWith("http:/"))
            {
                return(MiddlewareContinuation.Continue());
            }

            var file = _files.Find(relativeUrl);

            if (file == null)
            {
                return(MiddlewareContinuation.Continue());
            }

            if (_settings.DetermineStaticFileRights(file) != AuthorizationRight.Allow)
            {
                return(MiddlewareContinuation.Continue());
            }

            if (request.IsHead())
            {
                return(new WriteFileHeadContinuation(response, file, HttpStatusCode.OK));
            }

            if (request.IfMatchHeaderDoesNotMatchEtag(file))
            {
                return(new WriteStatusCodeContinuation(response, HttpStatusCode.PreconditionFailed, "If-Match test failed"));
            }

            if (request.IfNoneMatchHeaderMatchesEtag(file))
            {
                return(new WriteFileHeadContinuation(response, file, HttpStatusCode.NotModified));
            }

            if (request.IfModifiedSinceHeaderAndNotModified(file))
            {
                return(new WriteFileHeadContinuation(response, file, HttpStatusCode.NotModified));
            }

            if (request.IfUnModifiedSinceHeaderAndModifiedSince(file))
            {
                return(new WriteStatusCodeContinuation(response, HttpStatusCode.PreconditionFailed, "File has been modified"));
            }

            // Write headers here.

            return(new WriteFileContinuation(response, file, _settings));
        }
Exemple #3
0
        public void get_file_contents_Name(FileInput input)
        {
            var file = _files.Find(input.Name);

            if (file == null)
            {
                _writer.Write(MimeType.Text, "Could not find file " + input.Name);
            }
            else
            {
                _writer.WriteFile(MimeType.Text, file.Path, input.Name);
            }
        }
Exemple #4
0
        public CommandDocumentationSource(IFubuApplicationFiles files, IFileSystem fileSystem)
        {
            _applications = new Cache <string, CommandLineApplicationReport>(name => {
                var filename = "{0}.cli.xml".ToFormat(name);
                var file     = files.Find(filename);

                if (file == null)
                {
                    throw new ArgumentOutOfRangeException("name", name, "Unable to find a *.cli.xml file for the requested application name");
                }

                return(fileSystem.LoadFromFile <CommandLineApplicationReport>(file.Path));
            });
        }
        public string get_read_file()
        {
            var relativePath = "Files/1.txt";


            var file = _files.Find(relativePath);

            if (file == null)
            {
                throw new InvalidOleVariantTypeException();
            }

            return(file.ReadContents());
        }
        public override MiddlewareContinuation Invoke(IHttpRequest request, IHttpResponse response)
        {
            if (request.IsNotHttpMethod("GET", "HEAD"))
            {
                return(MiddlewareContinuation.Continue());
            }

            var file = _files.Find(request.RelativeUrl());

            if (file == null)
            {
                return(MiddlewareContinuation.Continue());
            }

            if (_settings.DetermineStaticFileRights(file) != AuthorizationRight.Allow)
            {
                return(MiddlewareContinuation.Continue());
            }

            if (request.IsHead())
            {
                return(new WriteFileHeadContinuation(response, file, HttpStatusCode.OK));
            }

            if (request.IfMatchHeaderDoesNotMatchEtag(file))
            {
                return(new WriteStatusCodeContinuation(response, HttpStatusCode.PreconditionFailed, "If-Match test failed"));
            }

            if (request.IfNoneMatchHeaderMatchesEtag(file))
            {
                return(new WriteFileHeadContinuation(response, file, HttpStatusCode.NotModified));
            }

            if (request.IfModifiedSinceHeaderAndNotModified(file))
            {
                return(new WriteFileHeadContinuation(response, file, HttpStatusCode.NotModified));
            }

            if (request.IfUnModifiedSinceHeaderAndModifiedSince(file))
            {
                return(new WriteStatusCodeContinuation(response, HttpStatusCode.PreconditionFailed, "File has been modified"));
            }

            // Write headers here.

            return(new WriteFileContinuation(response, file, _settings));
        }
Exemple #7
0
        public string get_read_file()
        {
            var relativePath = "Files/1.txt";

            Debug.WriteLine("Looking for relative path:  " + relativePath);

            var file = _files.Find(relativePath);

            if (file == null)
            {
                Debug.WriteLine("could not find the file");
                throw new InvalidOleVariantTypeException();
            }

            return(file.ReadContents());
        }
Exemple #8
0
        public void get_file_contents_Name(FileInput input)
        {
            var file = _files.Find(input.Name);

            _writer.WriteFile(MimeType.Text, file.Path, input.Name);
        }