| Index: go/src/infra/tricium/service/workflow-launcher/handlers.go
|
| diff --git a/go/src/infra/tricium/service/workflow-launcher/handlers.go b/go/src/infra/tricium/service/workflow-launcher/handlers.go
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bd3ba9cb7e826818860f6264ad9d6337df65bbaf
|
| --- /dev/null
|
| +++ b/go/src/infra/tricium/service/workflow-launcher/handlers.go
|
| @@ -0,0 +1,43 @@
|
| +package handlers
|
| +
|
| +import (
|
| + "fmt"
|
| + "net/http"
|
| +
|
| + "appengine"
|
| + "appengine/taskqueue"
|
| +)
|
| +
|
| +func init() {
|
| + http.HandleFunc("/workflow-launcher/status", statusPageHandler)
|
| + http.HandleFunc("/workflow-launcher/queue-handler", queueHandler)
|
| +}
|
| +
|
| +func statusPageHandler(w http.ResponseWriter, r *http.Request) {
|
| + fmt.Fprint(w, statusPage)
|
| +}
|
| +
|
| +func queueHandler(w http.ResponseWriter, r *http.Request) {
|
| + ctx := appengine.NewContext(r)
|
| +
|
| + // TODO(emso): Process request and launch workflow
|
| +
|
| + // Enqueue workflow listener task
|
| + t := taskqueue.NewPOSTTask("/workflow-listener/queue-handler", map[string][]string{"name": {"Workflow Launched"}})
|
| + if _, err := taskqueue.Add(ctx, t, "workflow-listener-queue"); err != nil {
|
| + http.Error(w, err.Error(), http.StatusInternalServerError)
|
| + return
|
| + }
|
| +}
|
| +
|
| +var statusPage = `
|
| +<html>
|
| +<head><title>Tricium</title></head>
|
| +<body>
|
| +<font face="sans-serif">
|
| +== T R I C I U M (Under Construction) ==
|
| +<hr size="1">
|
| +<p>Status of the Workflow Launcher ...</p>
|
| +<hr size="1">
|
| +</body>
|
| +</html>`
|
|
|