fox-send/server
Cullen Walsh 02e8cb264f Add detect_base_url config
This diff adds the detect_base_url config, controlled by the
DETECT_BASE_URL env variable. When set to true, the BASE_URL setting is
ignored, and the base_url is derived from the request protocol and host
header.

Test Plan: Started up a local instance in my homelab, running docker
node:15 image with a nginx reverse proxy. Configured nginx to use the
same backend with multiple hostnames on https. Opened in browser and
confirmed og:url meta tag uses correct url.
2021-05-05 22:19:11 -07:00
..
bin Remove legal page, add no affiliation text in footer 2021-01-09 19:14:42 +01:00
middleware added oauth refresh token support 2020-10-16 15:46:24 +02:00
routes Add detect_base_url config 2021-05-05 22:19:11 -07:00
storage Only set Redis client password if password is specified 2021-04-20 18:37:19 +02:00
clientConstants.js Remove obsolete anonymous limits 2021-04-12 15:19:02 +02:00
config.js Add detect_base_url config 2021-05-05 22:19:11 -07:00
fxa.js wrap openid-config request in try/catch 2019-03-13 12:07:59 -07:00
initScript.js Add configurable donate, CLI and DMCA and source links in footer 2021-01-27 00:21:03 +01:00
layout.js only index / route 2019-03-14 13:17:47 -07:00
limiter.js fixed size limit on server to include crypto overhead 2019-03-06 10:31:50 -08:00
locale.js updated deps 2019-07-29 15:26:11 -07:00
log.js a few changes to make A/B testing easier 2017-08-25 09:44:52 -07:00
metadata.js refactored server 2018-02-09 15:03:05 -08:00
readme.md Fix link to dev.js and prod.js files. 2019-03-13 07:45:55 -06:00
state.js Add detect_base_url config 2021-05-05 22:19:11 -07:00

readme.md

Server Code

The server provides the API, serves static assets, and renders the pages for Send. The production entrypoint is prod.js and the development entrypoint is dev.js via webpack-dev-server.

Server configuration

config.js contains the schema for our configuration options. Environment variables are the preferred method for setting configuration.

Middleware

Contains authentication and localization middleware.

Routes

Contains all the server routes and handlers for the API and pages

Storage

Contains implementations of possible storage engines for the files and metadata