0
0
FirebaseHow-ToBeginner · 4 min read

How to Trigger Firebase Function on HTTP Request

To trigger a function on an HTTP request in Firebase, use functions.https.onRequest to define the function. This creates a web endpoint that runs your code when accessed via HTTP.
📐

Syntax

The syntax to create an HTTP-triggered Firebase function uses functions.https.onRequest. It takes a callback with request and response parameters to handle the HTTP request and send a response.

  • functions.https.onRequest: Defines the function to run on HTTP request.
  • request: Object containing details of the HTTP request.
  • response: Object used to send back data to the client.
javascript
const functions = require('firebase-functions');

exports.myHttpFunction = functions.https.onRequest((request, response) => {
  // Your code here
  response.send('Hello from Firebase!');
});
💻

Example

This example shows a simple Firebase function triggered by an HTTP request. When you visit the function URL, it responds with a greeting message.

javascript
const functions = require('firebase-functions');

exports.greetUser = functions.https.onRequest((request, response) => {
  const name = request.query.name || 'Friend';
  response.send(`Hello, ${name}! Welcome to Firebase Functions.`);
});
Output
If you visit the URL with ?name=Alice, the output will be: Hello, Alice! Welcome to Firebase Functions.
⚠️

Common Pitfalls

Common mistakes when triggering Firebase functions on HTTP requests include:

  • Not exporting the function properly, so Firebase can't find it.
  • Forgetting to send a response, causing the request to hang.
  • Using functions.https.onCall instead of onRequest for HTTP triggers.
  • Not deploying the function after changes.
javascript
/* Wrong: Missing response.send() causes timeout */
exports.badFunction = functions.https.onRequest((req, res) => {
  // No response sent
});

/* Right: Always send a response */
exports.goodFunction = functions.https.onRequest((req, res) => {
  res.send('Response sent properly');
});
📊

Quick Reference

ConceptDescription
functions.https.onRequestDefines an HTTP-triggered Firebase function
requestContains HTTP request data like query, body, headers
responseUsed to send HTTP response back to client
response.send()Sends a response and ends the function execution
Deploy commandUse 'firebase deploy --only functions' to update

Key Takeaways

Use functions.https.onRequest to create HTTP-triggered Firebase functions.
Always send a response using response.send() to avoid hanging requests.
Export your function properly so Firebase can deploy and run it.
Test your function URL with query parameters to customize responses.
Deploy your functions after changes using the Firebase CLI.