Skip to content

Commit 29e27f4

Browse files
committed
small refactor
1 parent 45f5e59 commit 29e27f4

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

simplehttpserver.go

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,37 @@ import (
99
"net/http/httputil"
1010
)
1111

12-
// Options passed via CLI
13-
type Options struct {
12+
type options struct {
1413
ListenAddress string
1514
Folder string
1615
Verbose bool
1716
}
1817

19-
var options Options
18+
var opts options
2019

2120
func main() {
22-
23-
flag.StringVar(&options.ListenAddress, "listen", "0.0.0.0:8000", "Address:Port")
24-
flag.StringVar(&options.Folder, "path", ".", "Folder")
25-
flag.BoolVar(&options.Verbose, "v", false, "Verbose")
21+
flag.StringVar(&opts.ListenAddress, "listen", "0.0.0.0:8000", "Address:Port")
22+
flag.StringVar(&opts.Folder, "path", ".", "Folder")
23+
flag.BoolVar(&opts.Verbose, "v", false, "Verbose")
2624
flag.Parse()
2725

28-
if flag.NArg() > 0 && options.Folder == "." {
29-
options.Folder = flag.Args()[0]
26+
if flag.NArg() > 0 && opts.Folder == "." {
27+
opts.Folder = flag.Args()[0]
3028
}
3129

32-
log.Printf("Serving %s on http://%s/...", options.Folder, options.ListenAddress)
33-
fmt.Println(http.ListenAndServe(options.ListenAddress, Log(http.FileServer(http.Dir(options.Folder)))))
30+
log.Printf("Serving %s on http://%s/...", opts.Folder, opts.ListenAddress)
31+
fmt.Println(http.ListenAndServe(opts.ListenAddress, loglayer(http.FileServer(http.Dir(opts.Folder)))))
3432
}
3533

36-
// Log middleware
37-
func Log(handler http.Handler) http.Handler {
34+
func loglayer(handler http.Handler) http.Handler {
3835
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
3936
fullRequest, _ := httputil.DumpRequest(r, true)
40-
lrw := NewLoggingResponseWriter(w)
37+
lrw := newLoggingResponseWriter(w)
4138
handler.ServeHTTP(lrw, r)
4239

43-
if options.Verbose {
40+
if opts.Verbose {
4441
headers := new(bytes.Buffer)
45-
lrw.Header().Write(headers) //nolint
42+
lrw.Header().Write(headers)
4643
log.Printf("\nRemote Address: %s\n%s\n%s %d %s\n%s\n%s\n", r.RemoteAddr, string(fullRequest), r.Proto, lrw.statusCode, http.StatusText(lrw.statusCode), headers.String(), string(lrw.Data))
4744
} else {
4845
log.Printf("%s \"%s %s %s\" %d %d", r.RemoteAddr, r.Method, r.URL, r.Proto, lrw.statusCode, len(lrw.Data))
@@ -56,8 +53,7 @@ type loggingResponseWriter struct {
5653
Data []byte
5754
}
5855

59-
// NewLoggingResponseWriter structure
60-
func NewLoggingResponseWriter(w http.ResponseWriter) *loggingResponseWriter {
56+
func newLoggingResponseWriter(w http.ResponseWriter) *loggingResponseWriter {
6157
return &loggingResponseWriter{w, http.StatusOK, []byte{}}
6258
}
6359

0 commit comments

Comments
 (0)