aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Hurst <julian.hurst@digdash.com>2025-10-02 18:23:33 +0200
committerJulian Hurst <julian.hurst@digdash.com>2025-10-02 18:23:33 +0200
commitad0717a1efd17abb0da8d3fee82c3096377eef02 (patch)
tree5317d279b5bc34000948d63d53c10d500aed2f86
parent53af4c9f36bd44318436abdcc122d7a375ddb95f (diff)
downloadrogerlie-ad0717a1efd17abb0da8d3fee82c3096377eef02.tar.gz
Add -f to support serving a file
-rw-r--r--main.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/main.go b/main.go
index 04a5f4f..e438f5e 100644
--- a/main.go
+++ b/main.go
@@ -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))
}