drop.chapril.org-firefoxsend/server
HrBingR 671390ca24 Added the ability for a user to define and set a custom locale
New environment variable CUSTOM_LOCALE allows a user to define a locale per the /public/locales directory (this should be listed in the docs, will create a pull request for that too).

If the environment variable is blank or invalid it reverts to previous behaviour of system + default locale. Fully tested the above as follows:

CUSTOM_LOCALE = 'nl' < This works correctly, translating to nl.
CUSTOM_LOCALE = 'HelloThere' < This reverts to previous behavior
CUSTOM_LOCALE = '' < Also reverts
#CUSTOM_LOCALE = < Also reverts
2022-08-13 02:25:19 +02:00
..
bin Remove legal page, add no affiliation text in footer 2021-01-09 19:14:42 +01:00
middleware Disable check user when fxa is not enabled 2022-07-02 23:48:04 +02:00
routes Update eslint & plugins 2022-08-09 15:26:25 +00:00
storage Drop mkdirp 2022-07-26 17:23:19 +00:00
clientConstants.js Added the ability to define a custom footer via environment variables 2022-08-11 23:04:45 +02:00
config.js Added the ability for a user to define and set a custom locale 2022-08-13 02:25:19 +02:00
fxa.js wrap openid-config request in try/catch 2019-03-13 12:07:59 -07:00
initScript.js Update eslint & plugins 2022-08-09 15:26:25 +00:00
layout.js Added if check to see if user is using custom CSS 2022-08-10 22:55:51 +02:00
limiter.js fixed size limit on server to include crypto overhead 2019-03-06 10:31:50 -08:00
locale.js Update fluent 2022-07-26 11:03:10 +00: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 Added the ability for a user to define and set a custom locale 2022-08-13 02:25:19 +02:00

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