]> Sergey Matveev's repositories - godlighty.git/blobdiff - rc/cgi.go
Raise copyright years
[godlighty.git] / rc / cgi.go
index 42363e3d03d63c746bd8a0aa51dbd2dcbf420531..d295301ca65ab25ec3e2044a9c703f2f9dce30d7 100644 (file)
--- a/rc/cgi.go
+++ b/rc/cgi.go
@@ -1,6 +1,6 @@
 /*
 godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server
-Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2021-2023 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -26,10 +26,13 @@ import (
 )
 
 func RunCGIAndLog(host string, w http.ResponseWriter, r *http.Request, h *cgi.Handler) {
+       if r.TLS != nil && len(r.TLS.PeerCertificates) > 0 {
+               h.Env = append(h.Env, "TLSREMOTEDN="+r.TLS.PeerCertificates[0].Subject.String())
+       }
        wc := &godlighty.CountResponseWriter{ResponseWriter: w}
        h.ServeHTTP(wc, r)
-       fmt.Printf("%s %s \"%s %s %s\" %d %d \"%s\"\n",
-               r.RemoteAddr, host, r.Method, r.URL.Path, r.Proto,
+       fmt.Printf("%s %s \"%s %+q %s\" %d %d \"%s\"\n",
+               r.RemoteAddr, host, r.Method, godlighty.PathWithQuery(r.URL), r.Proto,
                wc.Status, wc.Size,
                r.Header.Get("User-Agent"),
        )