Enable routing via /functions/ endpoint

This commit is contained in:
Alex
2017-01-04 09:14:21 +00:00
parent f2fdfde43c
commit 84d1c0eaef
6 changed files with 84 additions and 18 deletions

View File

@ -0,0 +1,11 @@
FROM golang:1.7.3
RUN mkdir -p /go/src/app
COPY handler.go /go/src/app
WORKDIR /go/src/app
RUN go get -d -v
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
COPY fwatchdog /usr/bin/
ENV fprocess="/go/src/app/app"
CMD ["fwatchdog"]

View File

@ -0,0 +1,18 @@
WebhookStash
============
Example serverless function shows how to stash way contents of webhooks called via API gateway.
Each file is saved with the UNIX timestamp in nano seconds plus an extension of .txt
Example:
```
# curl -X POST -v -d @$HOME/.ssh/id_rsa.pub localhost:8080/function/webhookstash
```
Then if you find the replica you can check the disk:
```
# docker exec webhookstash.1.z054csrh70tgk9s5k4bb8uefq find
```

View File

@ -0,0 +1,18 @@
package main
import (
"fmt"
"io/ioutil"
"os"
"strconv"
"time"
)
func main() {
input, _ := ioutil.ReadAll(os.Stdin)
fmt.Println("Stashing request")
now := time.Now()
stamp := strconv.FormatInt(now.UnixNano(), 10)
ioutil.WriteFile(stamp+".txt", input, 0644)
}