This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { withSessionRoute } from '@utils/session'; | |
| export default withSessionRoute(async (req, res) => { | |
| const user = req.session.get('user'); | |
| if (user) { | |
| // in a real world application you might read the user id from the session and then do a database request | |
| // to get more information on the user if needed | |
| res.json({ | |
| isLoggedIn: true, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { withSessionRoute } from '@utils/session'; | |
| export default withSessionRoute(async (req, res) => { | |
| req.session.destroy(); | |
| res.json({ isLoggedIn: false }); | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { withSessionRoute } from '@utils/session'; | |
| export default withSessionRoute(async (req, res) => { | |
| const { password } = await req.body; | |
| try { | |
| if (password === process.env.PASSWORD) { | |
| const user = { isLoggedIn: true }; | |
| req.session.user = user; | |
| await req.session.save(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { withIronSessionApiRoute, withIronSessionSsr } from 'iron-session/next'; | |
| const sessionOptions = { | |
| password: process.env.SECRET_COOKIE_PASSWORD, | |
| cookieName: 'next-iron-session/examples/next.js', | |
| // secure: true should be used in production (HTTPS) but can't be used in development (HTTP) | |
| cookieOptions: { | |
| secure: process.env.NODE_ENV === 'production', | |
| }, | |
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // 3D Dom viewer, copy-paste this into your console to visualise the DOM as a stack of solid blocks. | |
| // You can also minify and save it as a bookmarklet (https://www.freecodecamp.org/news/what-are-bookmarklets/) | |
| (() => { | |
| const SHOW_SIDES = false; // color sides of DOM nodes? | |
| const COLOR_SURFACE = true; // color tops of DOM nodes? | |
| const COLOR_RANDOM = false; // randomise color? | |
| const COLOR_HUE = 190; // hue in HSL (https://hslpicker.com) | |
| const MAX_ROTATION = 180; // set to 360 to rotate all the way round | |
| const THICKNESS = 20; // thickness of layers | |
| const DISTANCE = 10000; // ¯\\_(ツ)_/¯ |
OlderNewer