2.0 KiB
2.0 KiB
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. |