drop.chapril.org-firefoxsend/server
Danny Coates 6184a70ba4
fixes #1005
The upstream gcp aggressively closes the connection once it has
received Content-Length bytes. However the @google-cloud/storage
module doesn't handle this well and emits no event in this case.
We were setting Content-Length because it's slightly more
efficient and was important for our download progress
bar (not anymore). The download should function fine without
setting the Content-Length, and allows the storage stream to finish
before closing the upstream socket.
2018-11-14 16:38:46 -08:00
..
middleware ignore some lint warnings 2018-03-01 21:36:45 -08:00
routes fixes #1005 2018-11-14 16:38:46 -08:00
storage fixes #1005 2018-11-14 16:38:46 -08:00
config.js added gcs 2018-11-02 14:24:10 -07:00
dev.js some frontend unit tests 2018-02-24 11:21:48 -08:00
layout.js implemented crypto polyfills for ms edge 2018-03-01 13:10:57 -08: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
prod.js big refactor 2018-01-30 09:37:42 -08:00
readme.md updated docs 2018-03-07 15:01:08 -08:00
state.js use beefy ui 2017-10-10 10:20:49 -07: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