5
0
Fork 0
Beep backend accepts PUT requests and publishes them to NAT queue.
 
 
Go to file
UnicodingUnicorn d22df9b05b Use env for config instead of flags 2019-02-18 23:43:35 +08:00
.env Use env for config instead of flags 2019-02-18 23:43:35 +08:00
.gitignore Initial commit 2019-02-06 13:26:35 +08:00
Dockerfile Use env for config instead of flags 2019-02-18 23:43:35 +08:00
README.md Use env for config instead of flags 2019-02-18 23:43:35 +08:00
bite.pb.go Authentication 2019-02-10 22:17:24 +08:00
client.pb.go Authentication 2019-02-10 22:17:24 +08:00
go.mod Use env for config instead of flags 2019-02-18 23:43:35 +08:00
go.sum Use env for config instead of flags 2019-02-18 23:43:35 +08:00
main.go Use env for config instead of flags 2019-02-18 23:43:35 +08:00

README.md

backend-publish

Beep backend accepts PUT requests and publishes a protobuf-ed version to a NATS queue, like some sort of weird HTTP/NATS converter. Also handles authentication of said HTTP requests. Needless to say, relies on a NATS instance being up.

Quickstart

go build && ./backend-publish

Environment Variables

Supply environment variables by either exporting them or editing .env.

ENV Description Default
LISTEN Host and port number to listen on :8080
NATS Host and port of nats nats://localhost:4222
SECRET JWT secret secret

API

All requests require an Authorization: Bearer <token> header, with token being obtained from backend-login.

Put Bite

PUT /conversation/:key/start/:start

TODO: Description of what this does cos honestly I have no idea Ambrose doesn't write documentation

URL Params

Name Type Description
key String Audio bite's conversation's ID.
start Epoch timestamp Time the audio bite starts.

Body

Raw body of audio data in bytes.

Success (200 OK)

Empty body.

Errors

Code Description
400 start is not an uint/key is not an alphanumeric string/data could not be read from the body
500 Error serialising data into a protocol buffer.

Put Bite User

PUT /conversation/:key/start/:start/user

TODO: Description of what this does cos honestly I have no idea Ambrose doesn't write documentation

URL Params

Name Type Description
key String Audio bite's conversation's ID.
start Epoch timestamp Time the audio bite starts.

Body

Raw body of audio data in bytes.

Success (200 OK)

Empty body.

Errors

Code Description
400 start is not an uint/key is not an alphanumeric string/data could not be read from the body
500 Error serialising data into a protocol buffer.