Files
uni/year2/semester1/logseq-stuff/pages/Firebase Functions.md

73 lines
3.9 KiB
Markdown

- #[[CT216 - Software Engineering I]]
- **Previous Topic:** [[Introduction to NodeJS]]
- **Next Topic:** [[Introduction to Firestore]]
- **Relevant Slides:** ![Week 10 - Firebase functions, Callbacks, Creating our first function.pdf](../assets/Week_10_-_Firebase_functions,_Callbacks,_Creating_our_first_function_1668085262844_0.pdf)
-
- **Firebase Functions** is a compute service that lets you run code without provisioning or managing servers.
- Similar to AWS Lambda, Azure Functions, etc.
- It runs your code only when needed and scales automatically, from a few requests per day to thousands per second.
- You pay only for the compute time you consume - there is no charge when your code is not running.
- # HTTP Requests
- ## HTTP Verbs
- `GET` and `POST` are HTTP request methods to transfer data from client to server.
- Both can be used to send requests & receive responses.
- `PUT` is used to update / replace, `DELETE` is used to delete, & `PATCH` is used to partially update / modify.
- ### `GET`
- `GET` is designed to request data from a specified resource.
- `GET` requests can be cached.
- `GET` requests remain in the browser history (you can go back).
- `GET` can't be used to send binary data, like images or word documents to the server.
- `GET` requests can be bookmarked.
- `GET`requests have length restrictions.
- `GET` requests should only be used to retrieve data.
- Using `GET`, data can be sent to the server by adding name=value pairs at the end of the URL, i.e., Querystring.
- ### `POST`
- `POST` is designed to submit data to the specified resource.
- `POST` requests are never cached.
- `POST` requests do not remain in the browser history.
- `POST` requests cannot be bookmarked.
- `POST` requests have no restrictions on data length.
- The `POST` method can be used to send ASCII as well as binary data.
- Form data is often sent to the server via a `POST` request.
- ### `GET` vs `POST`
- Use `GET` if you are requesting a resource.
- You may need to send some data to get the correct response back, but in general the idea is to `GET` a resource.
- Use `POST` if you want to send data to the server.
- ## Request Structure #card
card-last-interval:: -1
card-repeats:: 1
card-ease-factor:: 2.5
card-next-schedule:: 2022-11-15T00:00:00.000Z
card-last-reviewed:: 2022-11-14T15:50:44.830Z
card-last-score:: 1
- All HTTP requests have three main parts.
- ### Request Line
- HTTP Method (`GET`, `POST`, etc.).
- URL - the address of the resource that is being requested.
- HTTP version.
- ### Headers
- Additional information passed between the browser & the server, i.e., cookies, browser version, OS version, auth tokens, content-type.
- ### Message Body
- Client & server use the message body to transmit data back & forth between each other.
- `POST` requests will usually have data in the body.
- `GET` requests leave the message data empty.
- ## Postman Client
- When writing backend APIs, it's often necessary to test it quickly.
- You don't want to have to write a client-side request to test each API.
- Sometimes, you may even want to pass in values which would take even longer to code up.
- Postman can help.
- Postman is good for testing APIs without having to write client-side code to make the requests.
- It will work for all request methods, i.e., `GET`, `POST`, `PUT`. etc.
- You can code the backend, independent of the frontend.
- # JSON
- What is **JSON**? #card
card-last-interval:: 2.8
card-repeats:: 1
card-ease-factor:: 2.6
card-next-schedule:: 2022-11-17T11:23:52.503Z
card-last-reviewed:: 2022-11-14T16:23:52.503Z
card-last-score:: 5
- **JavaScript Object Notation (JSON)** is an open, human & machine readable standard that facilitates data interchange.
- Along with XML, JSON is the main data interchange format on the web.
- Firestore uses JSON documents to store records of information.
-