Bird
Raised Fist0
Firebasecloud~5 mins

HTTP trigger functions in Firebase - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an HTTP trigger function in Firebase?
An HTTP trigger function is a cloud function that runs when it receives an HTTP request. It lets you handle web requests like a web server.
Click to reveal answer
beginner
How do you define an HTTP trigger function in Firebase?
You define it using functions.https.onRequest((req, res) => { ... }). This sets up a function that runs when an HTTP request is made.
Click to reveal answer
beginner
What are the two main objects passed to an HTTP trigger function handler?
The two objects are req (request) and res (response). req has info about the incoming request, and res is used to send back a response.
Click to reveal answer
intermediate
Why would you use an HTTP trigger function instead of a regular Firebase function?
Because HTTP trigger functions let you create APIs or webhooks that respond to web requests directly, making your backend accessible over the internet.
Click to reveal answer
beginner
How do you send a JSON response from an HTTP trigger function?
Use res.json({ key: 'value' }) to send a JSON object back to the client.
Click to reveal answer
Which method defines an HTTP trigger function in Firebase?
Afunctions.database.onWrite()
Bfunctions.auth.user().onCreate()
Cfunctions.https.onRequest()
Dfunctions.storage.onFinalize()
What does the res object do in an HTTP trigger function?
AContains info about the incoming request
BSends a response back to the client
CTriggers the function execution
DStores data in the database
How do you send a plain text response in an HTTP trigger function?
Areq.send('text')
Bres.json('text')
Creq.json('text')
Dres.send('text')
Which of these is NOT a typical use case for HTTP trigger functions?
AResponding to database changes
BServing dynamic web content
CHandling webhooks
DCreating REST APIs
What happens if you don't send a response in an HTTP trigger function?
AThe function times out and the client waits indefinitely
BThe function automatically sends a default response
CThe function logs an error but returns success
DThe function restarts automatically
Explain how an HTTP trigger function works in Firebase and what objects it uses.
Think about how a web server handles requests and responses.
You got /5 concepts.
    Describe a simple example of when you would use an HTTP trigger function in a Firebase project.
    Imagine you want to let a website or app ask your backend for data.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does an HTTP trigger function in Firebase do?
      easy
      A. Automatically updates the database without user input
      B. Runs code when a specific web URL is visited
      C. Sends emails to users without any request
      D. Creates a new Firebase project

      Solution

      1. Step 1: Understand HTTP trigger functions

        HTTP trigger functions run when someone visits a specific web address (URL).
      2. Step 2: Compare options with this behavior

        Only Runs code when a specific web URL is visited describes running code on visiting a URL, matching the definition.
      3. Final Answer:

        Runs code when a specific web URL is visited -> Option B
      4. Quick Check:

        HTTP trigger = run code on URL visit [OK]
      Hint: HTTP trigger = runs code on web URL visit [OK]
      Common Mistakes:
      • Confusing HTTP triggers with database triggers
      • Thinking HTTP triggers run automatically without requests
      • Assuming HTTP triggers send emails by default
      2. Which of the following is the correct way to define an HTTP trigger function in Firebase using Node.js?
      easy
      A. exports.myFunc = functions.storage.object().onFinalize((object) => { });
      B. exports.myFunc = functions.database.onWrite((change, context) => { });
      C. exports.myFunc = functions.https.onRequest((req, res) => { res.send('Hello'); });
      D. exports.myFunc = functions.auth.user().onCreate((user) => { });

      Solution

      1. Step 1: Identify HTTP trigger syntax

        HTTP triggers use functions.https.onRequest with (req, res) parameters.
      2. Step 2: Match options to this syntax

        Only exports.myFunc = functions.https.onRequest((req, res) => { res.send('Hello'); }); uses functions.https.onRequest correctly; others are for database, auth, or storage triggers.
      3. Final Answer:

        exports.myFunc = functions.https.onRequest((req, res) => { res.send('Hello'); }); -> Option C
      4. Quick Check:

        HTTP trigger uses functions.https.onRequest [OK]
      Hint: HTTP triggers use functions.https.onRequest syntax [OK]
      Common Mistakes:
      • Using database or auth triggers instead of HTTP triggers
      • Missing (req, res) parameters in function
      • Confusing storage triggers with HTTP triggers
      3. What will be the output when visiting the URL of this Firebase HTTP function?
      exports.greet = functions.https.onRequest((req, res) => { const name = req.query.name || 'Guest'; res.send(`Hello, ${name}!`); });

      URL visited: https://us-central1-project.cloudfunctions.net/greet?name=Alice
      medium
      A. Hello, Alice!
      B. Hello, Guest!
      C. Hello, undefined!
      D. Error: name not found

      Solution

      1. Step 1: Understand query parameter usage

        The function reads the 'name' from the URL query string; if missing, it uses 'Guest'.
      2. Step 2: Check the URL query

        The URL has '?name=Alice', so name = 'Alice'. The response is 'Hello, Alice!'.
      3. Final Answer:

        Hello, Alice! -> Option A
      4. Quick Check:

        Query name=Alice -> Hello, Alice! [OK]
      Hint: Query params fill variables; missing uses default [OK]
      Common Mistakes:
      • Ignoring query parameters and using default always
      • Assuming undefined if parameter missing
      • Expecting error instead of default value
      4. Identify the error in this Firebase HTTP trigger function:
      exports.testFunc = functions.https.onRequest((request, response) => { response.send('Test'); response.send('Done'); });
      medium
      A. Incorrect parameter names for the function
      B. Missing return statement after response.send()
      C. No error, function works fine
      D. Calling response.send() twice causes an error

      Solution

      1. Step 1: Check response.send() usage

        response.send() ends the HTTP response. Calling it twice causes an error.
      2. Step 2: Analyze the code flow

        The function calls response.send('Test') then immediately calls response.send('Done'), which is invalid.
      3. Final Answer:

        Calling response.send() twice causes an error -> Option D
      4. Quick Check:

        Only one response.send() allowed per request [OK]
      Hint: Use response.send() only once per HTTP request [OK]
      Common Mistakes:
      • Calling response.send() multiple times
      • Thinking parameter names must be req, res exactly
      • Ignoring that response ends after send
      5. You want to create an HTTP trigger function that accepts a JSON body with a field age and responds with {"canVote": true} if age is 18 or more, otherwise {"canVote": false}. Which code snippet correctly implements this?
      hard
      A. exports.checkVote = functions.https.onRequest((req, res) => { const age = req.body.age; if(age >= 18) { res.json({canVote: true}); } else { res.json({canVote: false}); } });
      B. exports.checkVote = functions.https.onRequest((req, res) => { const age = req.query.age; if(age > 18) { res.send({canVote: true}); } else { res.send({canVote: false}); } });
      C. exports.checkVote = functions.https.onRequest((req, res) => { const age = req.body.age; if(age > 18) { res.send('{"canVote": true}'); } else { res.send('{"canVote": false}'); } });
      D. exports.checkVote = functions.https.onRequest((req, res) => { const age = req.body.age; if(age > 18) { res.send({canVote: true}); } else { res.send({canVote: false}); } });

      Solution

      1. Step 1: Identify correct data source and response method

        The age is sent in JSON body, so use req.body.age. To send JSON response, use res.json().
      2. Step 2: Check conditions and response format

        exports.checkVote = functions.https.onRequest((req, res) => { const age = req.body.age; if(age >= 18) { res.json({canVote: true}); } else { res.json({canVote: false}); } }); correctly checks age >= 18 and sends JSON object with canVote true or false using res.json().
      3. Final Answer:

        exports.checkVote = functions.https.onRequest((req, res) => { const age = req.body.age; if(age >= 18) { res.json({canVote: true}); } else { res.json({canVote: false}); } }); -> Option A
      4. Quick Check:

        Use req.body and res.json() for JSON input/output [OK]
      Hint: Use req.body for JSON input and res.json() to respond [OK]
      Common Mistakes:
      • Using req.query instead of req.body for JSON data
      • Sending JSON as string instead of object
      • Using res.send() with object without res.json()
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard