diff --git a/Makefile b/Makefile index 6f28cc9..0cb8d5e 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ dev: docker-test: test_mode=true docker-run: test_mode=false docker-run docker-test: - GOARCH=amd64 GOOS=linux make build && \ + GOARCH=amd64 GOOS=linux CGO_ENABLED=0 make build && \ docker-compose build && \ TEST_MODE=$(test_mode) docker-compose up \ --exit-code-from cgibinftw \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 12a18df..2dd3370 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,4 +1,3 @@ -version: "3.8" services: dynamodb-local: command: "-jar DynamoDBLocal.jar -sharedDb -inMemory" diff --git a/ulticntr/assets/html.go.html b/ulticntr/assets/html.go.html index 177073e..c736048 100644 --- a/ulticntr/assets/html.go.html +++ b/ulticntr/assets/html.go.html @@ -1,5 +1,3 @@ -Content-Type: text/html - diff --git a/ulticntr/main.go b/ulticntr/main.go index add91ef..0f7ad10 100644 --- a/ulticntr/main.go +++ b/ulticntr/main.go @@ -1,13 +1,14 @@ package main import ( - "bytes" _ "embed" "encoding/base64" "fmt" "html/template" "log" "math/rand" + "net/http" + "net/http/cgi" "net/url" "os" "time" @@ -35,8 +36,9 @@ var ( ) func main() { - if err := render(); err != nil { - log.Println("oops:", err) + http.HandleFunc("/", render) + if err := cgi.Serve(nil); err != nil { + log.Fatal(err) } } @@ -123,24 +125,24 @@ func parseOpts(queryString string) (o []option) { return o } -func render() error { +func render(w http.ResponseWriter, r *http.Request) { t := template.Must(template.New("page").Parse(htmlTemplate)) a := newAssets(parseOpts(os.Getenv("QUERY_STRING"))...) c, err := counter.New() if err != nil { - return err + log.Println("oops:", err) + return } i, err := c.Count() if err != nil { - return err + log.Println("oops:", err) + return } a.Counter = i - var b bytes.Buffer - if err := t.Execute(&b, a); err != nil { - return err + if err := t.Execute(w, a); err != nil { + log.Println("oops:", err) + return } - fmt.Println(b.String()) - return nil }