mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
c87b471b22
* add with-custom-reverse-proxy example * cleanup * cleanup package.json * fix linting errors * more linting errors
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
## The idea behind the example
|
|
|
|
This example applies this gist https://gist.github.com/jamsesso/67fd937b74989dc52e33 to Nextjs and provides:
|
|
|
|
* Reverse proxy in development mode by add `http-proxy-middleware` to custom server
|
|
* NOT a recommended approach to production scale (hence explicit dev flag) as we should scope proxy as outside UI applications and have separate web server taking care of that.
|
|
|
|
Sorry for the extra packages. I belong to the minority camp of writing ES6 code on Windows developers. Essentially you only need `http-proxy-middleware` on top of bare-bone Nextjs setup to run this example.
|
|
|
|
## How to run it
|
|
|
|
```
|
|
npm i; npm run build; npm run dev;
|
|
```
|
|
|
|
## What it does
|
|
Take any random query string to the index page and does a GET to `/api/<query string>` which gets routed internally to `https://swapi.co/api/<query string>`, or any API endpoint you wish to configure through the proxy.
|
|
|
|
## Expectation
|
|
|
|
```
|
|
/api/people/2 routed to https://swapi.co/api/people/2
|
|
Try Reset
|
|
|
|
{
|
|
"name": "C-3PO",
|
|
"height": "167",
|
|
"mass": "75",
|
|
"hair_color": "n/a",
|
|
"skin_color": "gold",
|
|
"eye_color": "yellow",
|
|
"birth_year": "112BBY",
|
|
"gender": "n/a",
|
|
"homeworld": "https://swapi.co/api/planets/1/",
|
|
"films": [
|
|
"https://swapi.co/api/films/2/",
|
|
"https://swapi.co/api/films/5/",
|
|
"https://swapi.co/api/films/4/",
|
|
"https://swapi.co/api/films/6/",
|
|
"https://swapi.co/api/films/3/",
|
|
"https://swapi.co/api/films/1/"
|
|
],
|
|
"species": [
|
|
"https://swapi.co/api/species/2/"
|
|
],
|
|
"vehicles": [],
|
|
"starships": [],
|
|
"created": "2014-12-10T15:10:51.357000Z",
|
|
"edited": "2014-12-20T21:17:50.309000Z",
|
|
"url": "https://swapi.co/api/people/2/"
|
|
}
|
|
``` |