Changeset 29 in code


Ignore:
Timestamp:
Oct 19, 2021, 9:45:01 AM (4 years ago)
Author:
dev
Message:

Add logs and a verbose mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/partage.go

    r28 r29  
    66        "io"
    77        "io/ioutil"
     8        "log"
    89        "net/http"
    910        "os"
     
    4950}
    5051
     52var verbose bool
     53
    5154func writefile(f *os.File, s io.ReadCloser, contentlength int64) error {
    5255        buffer := make([]byte, 4096)
     
    9497        }
    9598
     99        if verbose {
     100                log.Printf("Saving metadata for %s in %s", meta.Filename, conf.metapath + "/" + meta.Filename + ".json")
     101        }
     102
    96103        f, err := os.Create(conf.metapath + "/" + meta.Filename + ".json")
    97104        if err != nil {
     
    115122                http.Error(w, "Internal error", http.StatusInternalServerError)
    116123                return
     124        }
     125
     126        if verbose {
     127                log.Printf("Serving template %s", t.Name())
    117128        }
    118129
     
    136147        }
    137148        defer f.Close()
     149
     150        if verbose {
     151                log.Printf("Writing %d bytes to %s", r.ContentLength, tmp)
     152        }
    138153
    139154        if err = writefile(f, r.Body, r.ContentLength); err != nil {
     
    207222        }
    208223
     224        if verbose {
     225                log.Printf("Serving file %s", conf.rootdir + filename)
     226        }
     227
    209228        http.ServeFile(w, r, conf.rootdir + filename)
    210229}
    211230
    212231func uploader(w http.ResponseWriter, r *http.Request) {
     232        if verbose {
     233                log.Printf("%s: <%s> %s %s %s", r.Host, r.RemoteAddr, r.Method, r.RequestURI, r.Proto)
     234        }
     235
    213236        switch r.Method {
    214237        case "POST":
     
    238261        iniflags.Parse()
    239262
     263        if verbose {
     264                log.Printf("Applied configuration:\n%s", conf)
     265        }
     266
    240267        if (conf.chroot != "") {
     268                if verbose {
     269                        log.Printf("Changing root to %s", conf.chroot)
     270                }
    241271                syscall.Chroot(conf.chroot)
    242272        }
     
    261291                }
    262292
     293                if verbose {
     294                        log.Printf("Dropping privileges to %s", conf.user)
     295                }
     296
    263297                syscall.Setuid(uid)
    264298                syscall.Setgid(gid)
     
    267301        http.HandleFunc("/", uploader)
    268302        http.Handle(conf.filectx, http.StripPrefix(conf.filectx, http.FileServer(http.Dir(conf.filepath))))
     303
     304        if verbose {
     305                log.Printf("Listening on %s", conf.bind)
     306        }
     307
    269308        http.ListenAndServe(conf.bind, nil)
    270309}
Note: See TracChangeset for help on using the changeset viewer.