I realised that the new Callable Cloud Functions can still be called as if they were HTTP events, i.e. they can still be reached under http://us-central1-$projectname.
EDIT: The details of the protocol have been formally documented now.
HTTPS Callable functions must be called using the POST
method, the Content-Type
must be application/json
or application/json; charset=utf-8
, and the body must contain a field called data
for the data to be passed to the method.
Example body:
{
"data": {
"aString": "some string",
"anInt": 57,
"aFloat": 1.23
}
}
If you are calling a function by creating your own http request, you may find it more flexible to use a regular HTTPS function instead.
You can use Firebase CLI firebase functions:shell
to invoke onCall(..)
functions
Steps:
firebase functions:shell
firebase >
someFuncAbc({})
Only tested with deployed functions.
Thanks to answer in this thread: https://stackoverflow.com/a/62051894/2162226
Yes, this answer deviates from the OP that requests how to do this with HTTP .. but adding here as an alternate way to make the calls simply from the CLI, without having to set HTTP headers, set up the HTTP client like curl
or Postman, etc.