..
2024-01-03 00:43:21 +09:00
2023-09-09 21:47:23 +09:00
2023-04-30 11:54:32 +09:00
2023-10-11 23:35:21 +09:00
2023-04-30 11:54:32 +09:00

worker-template-go

  • A template for starting a Cloudflare Worker project with Go.
  • This template uses workers package to run an HTTP server.

Notice

  • A free plan Cloudflare Workers only accepts ~1MB sized workers.
    • Go Wasm binaries easily exceeds this limit, so you'll need to use a paid plan of Cloudflare Workers (which accepts ~5MB sized workers).

Usage

  • main.go includes simple HTTP server implementation. Feel free to edit this code and implement your own HTTP server.

Requirements

  • Node.js
  • wrangler
    • just run npm install -g wrangler
  • Go 1.21.0 or later

Getting Started

  • If not already installed, please install the gonew command.
go install golang.org/x/tools/cmd/gonew@latest
  • Create a new project using this template.
    • Second argument passed to gonew is a module path of your new app.
gonew github.com/syumai/workers/_templates/cloudflare/worker-go your.module/my-app # e.g. github.com/syumai/my-app
cd my-app
go mod tidy
make dev # start running dev server
curl http://localhost:8787/hello # outputs "Hello!"
  • To change worker name, please edit name property in wrangler.toml.

Development

Commands

make dev     # run dev server
make build   # build Go Wasm binary
make deploy # deploy worker

Testing dev server

  • Just send HTTP request using some tools like curl.
$ curl http://localhost:8787/hello
Hello!
$ curl -X POST -d "test message" http://localhost:8787/echo
test message