Open stendler opened 6 months ago
I'm pretty sure those parameters are not parsed in a JSON body (see https://github.com/binwiederhier/ntfy/blob/9d3fc20e583564e40af5afb90233f4714fdfcb4c/server/server.go#L1811).
You can try including them, and if they're not supported, ntfy will reject the request as "invalid JSON".
You can also turn on debug logs on the server and see if things are written to the cache or forwarded to firebase
That's the right code, thank you!
So this looks like adding them via headers in addition to the JSON message payload should work.
You can try including them, and if they're not supported, ntfy will reject the request as "invalid JSON".
I did send messages against ntfy.sh with "firebase": "no"
in the JSON payload, and it did not get rejected (or rather the notification went through - not sure if there was a response with an error message).
So this looks like adding them via headers in addition to the JSON message payload should work.
Sorry, I missed this question. Yes, you can definitely combine JSON body and HTTP headers.
I just did a quick test, and a JSON body with "cache":"no"
was not rejected by the ntfy server, BUT it was written to the cache. So "cache" (and I'm pretty sure "firebase") needs to be included as a header right now and not in the JSON body
Thanks for confirming!
Now the question would be: should firebase and cache be added to the JSON functionality? Looking at the code, this seems straightforward to implement, and I would create a PR for this.
I'm not sure. I don't know what @binwiederhier's preferences are regarding fields in the JSON body vs fields in HTTP headers
I've implemented it and opened a PR as an exercise :)
Feel free to close it, if the feature is not desired. Though, I believe, since the JSON API is intended as a workaround for apps that make it difficult or impossible to define http headers, that this change just completes the API.
:question: Question
The documentation explains how to disable firebase or message caching via http request headers.
But these are not listed in the corresponding table on publishing via JSON.
Is this just missing from the documentation or not implemented?
If not implemented, could the JSON payload be paired with the request headers?
Is there a simple way to test this? The message payload does not seem to include any hint about how these properties were set.