Add allow-http flag

This commit is contained in:
Kyle Carberry 2019-03-04 07:45:35 +00:00
parent d739be18a9
commit e2ec010a1d
No known key found for this signature in database
GPG Key ID: 42E8F51E81E8201C
2 changed files with 4 additions and 1 deletions

View File

@ -25,6 +25,7 @@ export class Entry extends Command {
port: flags.integer({ char: "p", default: 8443, description: "Port to bind on" }),
version: flags.version({ char: "v" }),
"no-auth": flags.boolean({ default: false }),
"allow-http": flags.boolean({ default: false }),
// Dev flags
"bootstrap-fork": flags.string({ hidden: true }),
@ -134,6 +135,7 @@ export class Entry extends Command {
const password = "023450wf0951";
const hasCustomHttps = certData && certKeyData;
const app = await createApp({
allowHttp: flags["allow-http"],
bypassAuth: flags["no-auth"],
registerMiddleware: (app): void => {
app.use((req, res, next) => {

View File

@ -26,6 +26,7 @@ interface CreateAppOptions {
serverOptions?: ServerOptions;
password?: string;
httpsOptions?: https.ServerOptions;
allowHttp?: boolean;
bypassAuth?: boolean;
}
@ -187,7 +188,7 @@ export const createApp = async (options: CreateAppOptions): Promise<{
const authStaticFunc = expressStaticGzip(path.join(baseDir, "build/web/auth"));
const unauthStaticFunc = expressStaticGzip(path.join(baseDir, "build/web/unauth"));
app.use((req, res, next) => {
if (!isEncrypted(req.socket)) {
if (!isEncrypted(req.socket) && !options.allowHttp) {
return res.redirect(301, `https://${req.headers.host!}${req.path}`);
}