aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 094e6ce2a6c65b45450e43fe680f95486b935594 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Communique

Communique aims to be an activitypub platform that abstracts outboxes/inboxes away from 
handler implementations.

1) handlers are defined in a config file
2) these are read into the registry which allows lookup by name or by fqdn


# CGI

Communique uses CGI as the API between itself and your scripts. These scripts are only run **internally** and are never executed from a TCP request.

## Response API

>     The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
>     NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
>     "OPTIONAL" in this document are to be interpreted as described in
>     RFC 2119.

Your CGI script MUST emit a valid CGI response.

Your CGI script reponse MUST be of one of these content types:

* `application/atom+xml`
* `application/rss+xml`

Your CGI script reponse MUST be an RSS or ATOM feed (or at least something [gofeed](https://github.com/mmcdole/gofeed) can parse)

See `sample-cgi-handler.sh` for an example

## Processing

Communique will iterate through this collection of objects and add them to the outbox for the handler for that script, if they have not been posted in the last hour. **(TODO make the dedupe window configurable)**