| 123456789101112131415161718192021222324252627282930313233343536373839 | import express from 'express'import { get } from 'lodash-es'import qs from 'querystring'export default function () {  const router = express.Router()  /**   * Let's Encrypt Challenge   */  router.get('/.well-known/acme-challenge/:token', (req, res, next) => {    res.type('text/plain')    if (get(WIKI.config, 'letsencrypt.challenge', false)) {      if (WIKI.config.letsencrypt.challenge.token === req.params.token) {        res.send(WIKI.config.letsencrypt.challenge.keyAuthorization)        WIKI.logger.info(`(LETSENCRYPT) Received valid challenge request. [ ACCEPTED ]`)      } else {        res.status(406).send('Invalid Challenge Token!')        WIKI.logger.warn(`(LETSENCRYPT) Received invalid challenge request. [ REJECTED ]`)      }    } else {      res.status(418).end()    }  })  /**   * Redirect to HTTPS if HTTP Redirection is enabled   */  // router.all('/*', (req, res, next) => {  //   if (WIKI.config.server.sslRedir && !req.secure && WIKI.servers.servers.https) {  //     let query = (!_.isEmpty(req.query)) ? `?${qs.stringify(req.query)}` : ``  //     return res.redirect(`https://${req.hostname}${req.originalUrl}${query}`)  //   } else {  //     next()  //   }  // })  return router}
 |