playground: refactor handleVet and handleCompile methods

handleVet and handleCompile methods were almost indentical.
The only differences were the prefix for the cache key and
the function which executed command and made a response struct.

This changes introduces the commandHandler function that
returns an HTTP handler specified by the cache prefix and
command function (cmdFunc).

vetCheck and compileAndRun are those command functions.

Fixes golang/go#24535.

Change-Id: I4eaa5364cd4ee5f778c5b5b272b74b23e4caef7c
Reviewed-on: https://go-review.googlesource.com/112795
Reviewed-by: Andrew Bonventre <andybons@golang.org>
4 files changed
tree: 01d6cb152c473d07366a50ea3bae2a698819d1fb
  1. static/
  2. app.yaml
  3. AUTHORS
  4. cache.go
  5. client.go
  6. codereview.cfg
  7. CONTRIBUTING.md
  8. CONTRIBUTORS
  9. Dockerfile
  10. edit.go
  11. edit.html
  12. enable-fake-time.patch
  13. fake_fs.lst
  14. fmt.go
  15. LICENSE
  16. logger.go
  17. main.go
  18. Makefile
  19. PATENTS
  20. play.go
  21. play_test.go
  22. README.md
  23. sandbox.go
  24. server.go
  25. server_test.go
  26. share.go
  27. store.go
  28. strict-time.patch
  29. vet.go
README.md

playground

This subrepository holds the source for the Go playground: https://play.golang.org/

Building

# build the image
docker build -t playground .

Running

docker run --name=play --rm -d -p 8080:8080 playground
# run some Go code
cat /path/to/code.go | go run client.go | curl -s --upload-file - localhost:8080/compile

Deployment

gcloud --project=golang-org --account=person@example.com app deploy app.yaml

Contributing

To submit changes to this repository, see https://golang.org/doc/contribute.html.