diff options
| author | lain <lain@soykaf.club> | 2020-07-23 13:17:44 +0000 |
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-07-23 13:17:44 +0000 |
| commit | 0ea23a03ce9e9337d5db64250471c874eab58de9 (patch) | |
| tree | 7db853fef4cbf0c4bf08199e85d7dbabc13a0973 /src/services | |
| parent | 25a015b4715b7e85af310bae0ed360f98aef6205 (diff) | |
| parent | bca77ef97f8562b2f3a4227756d923e6a2023073 (diff) | |
Merge branch 'feat/idempotency' into 'develop'
Status posting Idempotency
See merge request pleroma/pleroma-fe!1194
Diffstat (limited to 'src/services')
| -rw-r--r-- | src/services/api/api.service.js | 10 | ||||
| -rw-r--r-- | src/services/status_poster/status_poster.service.js | 6 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index 40ea5bd9..da519001 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -631,7 +631,8 @@ const postStatus = ({ mediaIds = [], inReplyToStatusId, contentType, - preview + preview, + idempotencyKey }) => { const form = new FormData() const pollOptions = poll.options || [] @@ -665,10 +666,15 @@ const postStatus = ({ form.append('preview', 'true') } + let postHeaders = authHeaders(credentials) + if (idempotencyKey) { + postHeaders['idempotency-key'] = idempotencyKey + } + return fetch(MASTODON_POST_STATUS_URL, { body: form, method: 'POST', - headers: authHeaders(credentials) + headers: postHeaders }) .then((response) => { return response.json() diff --git a/src/services/status_poster/status_poster.service.js b/src/services/status_poster/status_poster.service.js index ac469175..f09196aa 100644 --- a/src/services/status_poster/status_poster.service.js +++ b/src/services/status_poster/status_poster.service.js @@ -11,7 +11,8 @@ const postStatus = ({ media = [], inReplyToStatusId = undefined, contentType = 'text/plain', - preview = false + preview = false, + idempotencyKey = '' }) => { const mediaIds = map(media, 'id') @@ -25,7 +26,8 @@ const postStatus = ({ inReplyToStatusId, contentType, poll, - preview + preview, + idempotencyKey }) .then((data) => { if (!data.error && !preview) { |
