All files / packages/adapters/express/src index.ts

0% Statements 0/19
100% Branches 1/1
100% Functions 1/1
0% Lines 0/19

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27                                                     
/* eslint-disable unused-imports/no-unused-vars */
import type { ServerOptions } from '@https-enable/core'
import type { Certificate } from '@https-enable/mkcert'
import type { Application, RequestHandler } from 'express'
import { HttpsAdapter } from '@https-enable/core'
 
export class ExpressHttpsAdapter extends HttpsAdapter<Application, RequestHandler> {
  constructor(app: Application) {
    super(app)
  }
 
  createMiddleware: (options: ServerOptions) => RequestHandler
    = (options) => {
      return (req, res, next) => {
        if (req.secure) {
          next()
        }
        else {
          res.redirect(`https://${req.headers.host || req.url}`)
        }
      }
    }
 
  init?: () => Promise<Application>
  onCertRenewed?: (certificate: Certificate) => any
}