diff options
author | tjpcc <tjp@ctrl-c.club> | 2023-01-17 15:59:29 -0700 |
---|---|---|
committer | tjpcc <tjp@ctrl-c.club> | 2023-01-17 15:59:29 -0700 |
commit | 2ef530daa47b301a40c1ee93cd43b8f36fc68c0b (patch) | |
tree | b9753719f5f0e5312bb5008d40f40247ce14e15a /contrib/cgi/cgi.go | |
parent | 30e21f8513d49661cb6e1583d301e34e898d48a9 (diff) |
pull request, response, handlers out of the gemini package
Diffstat (limited to 'contrib/cgi/cgi.go')
-rw-r--r-- | contrib/cgi/cgi.go | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/contrib/cgi/cgi.go b/contrib/cgi/cgi.go index e43f1ef..7f88e57 100644 --- a/contrib/cgi/cgi.go +++ b/contrib/cgi/cgi.go @@ -13,6 +13,7 @@ import ( "os/exec" "strings" + "tildegit.org/tjp/gus" "tildegit.org/tjp/gus/gemini" ) @@ -22,12 +23,12 @@ import ( // a request for /foo/bar/baz can also run an executable found at /foo or /foo/bar. In // such a case the PATH_INFO environment variable will include the remaining portion of // the URI path. -func CGIDirectory(pathRoot, fsRoot string) gemini.Handler { +func CGIDirectory(pathRoot, fsRoot string) gus.Handler { fsRoot = strings.TrimRight(fsRoot, "/") - return func(ctx context.Context, req *gemini.Request) *gemini.Response { + return func(ctx context.Context, req *gus.Request) *gus.Response { if !strings.HasPrefix(req.Path, pathRoot) { - return gemini.NotFound("Resource does not exist.") + return nil } path := req.Path[len(pathRoot):] @@ -53,7 +54,7 @@ func CGIDirectory(pathRoot, fsRoot string) gemini.Handler { } } - return gemini.NotFound("Resource does not exist.") + return nil } } @@ -97,10 +98,10 @@ func isNotExistError(err error) bool { // RunCGI runs a specific program as a CGI script. func RunCGI( ctx context.Context, - req *gemini.Request, + req *gus.Request, executable string, pathInfo string, -) *gemini.Response { +) *gus.Response { pathSegments := strings.Split(executable, "/") dirPath := "." @@ -139,7 +140,7 @@ func RunCGI( func prepareCGIEnv( ctx context.Context, - req *gemini.Request, + req *gus.Request, scriptName string, pathInfo string, ) []string { |