# Clone repo
git clone https://github.com/devlegacy/fetch-api.git
# Install local dependencies
npm install && npm audit fix
# Run project
npm start
# Up app
docker-compose up -d
# Down app
docker-compose down
π http://localhost:8080/ π http://localhost:8000/ π http://localhost:8000/api/
+Β :open_file_folder: api-fetch
Β |Β Β +-- π public
Production files
Β |Β Β +-- π server
Node API server / Upload files
Β |Β Β Β |Β Β +-- π uploads
Distribution folder for images uploaded
Β |Β Β +-- π src
Development source files
π Fetch API π HTTP request methods
El Intercambio de Recursos de Origen Cruzado (Cross-Origin Resource Sharing) es un mecanismo que agrega unos encabezados (Headers) adicionales HTTP para permitir que un user agent (generalmente un navegador) obtenga permisos para acceder a los recursos de un servidor en un origin distinto (dominio) del que pertenece.
Por ejemplo una solicitud de origen cruzado seria hacer una peticiΓ³n AJAX desde una aplicaciΓ³n que se encuentra en https://dominio-a.com para cargar el recurso https://api.dominio-b.com/data.json.
Por razones de seguridad, los navegadores restringen las solicitudes HTTP de origen cruzado iniciadas dentro de un script.
Si necesitamos permitir request desde un dominio diferente al del servidor podemos usar el middleware cors para permitirlo, pero es importante no dejarlo expuesto a todos los dominios.
π Access-Control-Allow-Origin π Access-Control-Allow-Methods π Access-Control-Allow-Headers
π Access-Control-Allow-Credentials
- Optional chaining
- Non null assertion operator
- Differences in optional chaining and non null assertion
"fibers": "^5.0.0" - https://sass-lang.com/blog/node-fibers-discontinued