diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -4,11 +4,13 @@ import ( "log" "net/http" "io" + "os" "flag" "fmt" ) var rawBody = false +var returnString string = "" func handle(w http.ResponseWriter, r *http.Request) { log.Println("URL:", r.URL) @@ -43,13 +45,24 @@ func handle(w http.ResponseWriter, r *http.Request) { } log.Println("--------------------------------------") + if returnString != "" { + log.Println(returnString) + f, err := os.Open(returnString) + if err != nil { + log.Fatal(err) + } + defer f.Close() + io.Copy(w, f) + } } func main() { b := flag.Bool("b", false, "Read raw body") p := flag.Int("p", 8080, "Port to use") + f := flag.String("f", "", "File to serve (optional)") flag.Parse() rawBody = *b + returnString = *f http.HandleFunc("/", handle) log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", *p), nil)) } |
