- main
- manifest
- deps
- main
- Install
- Run
package main
import (
"context"
"github.com/fastly/compute-sdk-go/fsthttp"
)
func main() {
fsthttp.ServeFunc(func(ctx context.Context, w fsthttp.ResponseWriter, r *fsthttp.Request) {
if r.Method == fsthttp.MethodOptions && r.Header.Get("Origin") != "" && (r.Header.Get("access-control-request-headers") != "" || r.Header.Get("access-control-request-method") != "") {
headers := fsthttp.NewHeader()
headers.Add("access-control-allow-origin", r.Header.Get("Origin"))
headers.Add("access-control-allow-headers", r.Header.Get("access-control-request-headers"))
headers.Add("access-control-allow-methods", "GET,HEAD,POST,OPTIONS")
headers.Add("access-control-max-age", "86400")
w.Header().Apply(headers)
w.WriteHeader(fsthttp.StatusNoContent)
} else {
w.WriteHeader(fsthttp.StatusNotFound)
}
})
}