-
-
Couldn't load subscription status.
- Fork 524
Notify_Custom_Form
- Source: n/a
- Icon Support: No
- Attachment Support: yes
- Message Format: application/x-www-form-urlencoded
- Message Limit: 32768 Characters per message
This is just a custom Notification that allows you to have this tool post to a web server as a simple FORM (application/x-www-form-urlencoded). This is useful for those who want to be notified via their own custom methods.
The payload will include a body, title, version, and type in it's response. You can add more (see below for details).
The type will be one of the following:
- info: An informative type message
- success: A successful report
- failure: A failure report
- warning: A warning report
Valid syntax is as follows:
form://{hostname}form://{hostname}:{port}form://{user}:@{hostname}form://{user}:@{hostname}:{port}form://{user}:{password}@{hostname}form://{user}:{password}@{hostname}:{port}
The secure versions:
forms://{hostname}forms://{hostname}:{port}forms://{user}:@{hostname}forms://{user}:@{hostname}:{port}forms://{user}:{password}@{hostname}forms://{user}:{password}@{hostname}:{port}
| Variable | Required | Description |
|---|---|---|
| hostname | Yes | The Web Server's hostname |
| port | No | The port our Web server is listening on. By default the port is 80 for form:// and 443 for all forms:// references. |
| user | No | If you're system is set up to use HTTP-AUTH, you can provide username for authentication to it. |
| password | No | If you're system is set up to use HTTP-AUTH, you can provide password for authentication to it. |
| method | No | Optionally specify the server http method; possible options are post, put, get, delete, patch, and head. By default if no method is specified then post is used. |
| attach-as | No | Optionally override the meta filename set when there are attachments. Each attachment by default gets posted as file01, file02, etc. There have been use-cases where someone's end point expects the meta name (where the file is found on the HTTP request) to be named something specific such as document. Utilize this over-ride to accomplish such a feat. Also use the * character to allow the numbering. Hence ?attach-as=meta* would cause Apprise to store the files as meta01, meta02, etc. |
Note:: If you include file attachments; each one is concatenated into the same single post to the upstream server. The Content-Type header request also changes from application/x-www-form-urlencoded to multipart/form-data in this case.
Send a FORM Based web request to our web server listening on port 80:
# Assuming our {hostname} is my.server.local
apprise form://my.server.localSome users may require special HTTP headers to be present when they post their data to their server. This can be accomplished by just sticking a plus symbol (+) in front of any parameter you specify on your URL string.
# Below would set the header:
# X-Token: abcdefg
#
# Assuming our {hostname} is localhost
# Assuming our {port} is 8080
apprise -vv -t "Test Message Title" -b "Test Message Body" \
"form://localhost:8080/path/?+X-Token=abcdefg"
# Multiple headers just require more entries defined:
# Below would set the headers:
# X-Token: abcdefg
# X-Apprise: is great
#
# Assuming our {hostname} is localhost
# Assuming our {port} is 8080
apprise -vv -t "Test Message Title" -b "Test Message Body" \
"form://localhost:8080/path/?+X-Token=abcdefg&+X-Apprise=is%20great"The payload can have entries added to it in addition to the default body, title, and type values. This can be accomplished by just sticking a colon symbol (:) in front of any parameter you specify on your URL string.
# Add to the payload delivered to the remote server as if it was part
# the prepared message Apprise would have otherwise put together
#
# Assuming our {hostname} is localhost
# Assuming we want to include app=mysystem as part of the payload:
apprise -vv -t "Test Message Title" -b "Test Message Body" \
"form://localhost/?:app=payload"Some users may require GET parameters to be part of their POST. Any parameters you pass onto the Apprise command line are interpreted by Apprise itself as options/actions you wish to perform (such as changing method=update, or cto=3). To have Apprise ignore what was specified and past the content as-is upstream, you just need to prefix your entries with a minus (-) symbol.
# The below for example would post to http://localhost:8000?token=abcdefg
#
# The `-` symbol will get stripped off when the upstream post takes place
# Apprise knows not to do anything with the argument at all and pass it along as is.
apprise -vv -t "Test Message Title" -b "Test Message Body" \
"form://localhost:8080/?-token=abcdefg"
# If you want to pass more then one element, just chain them:
# The below would send a a POST to:
# https://example.ca/my/path?key1=value1&key2=value2
#
apprise -vv -t "Test Message Title" -b "Test Message Body" \
"forms://example.ca/my/path?-key1=value1&-key2=value2"This section expands further on the ?attach-as= override option.
Simply add this to the URL: such as:
# apply the override of `file{:02d}` to be `document`
bin/apprise -vvvv 'forms://webhook.site/<webhook>?attach-as=document' \
--attach test/var/apprise-test.png -b test In order to support other variations, you can do :
# Set the file array object in the request as `{:02d}meta`
bin/apprise -vvvv 'forms://webhook.site/<webhook>?attach-as=*meta' \
--attach test/var/apprise-test.png -b test
# Set the file array object in the request as `meta{:02d}`
bin/apprise -vvvv 'forms://webhook.site/<webhook>?attach-as=meta*' \
--attach test/var/apprise-test.png -b test
# Set the file array object in the request as `meta{:02d}file`
bin/apprise -vvvv 'forms://webhook.site/<webhook>?attach-as=meta*file' \
--attach test/var/apprise-test.png -b test