Fixes#130.
We don't want the regular cycle of conflicts between Rust nightlies and (usually) rocket codegen to affect us in prod. And, funnily enough, the version that I first tried pinning to contains one of those of conflicts, so good reminder there. (nightly 2018-07-15 works with Rocket 0.3.15, but we're pinned to a specific commit on master for now)
Stores a "metadata" string from the caller in Redis, keyed by a hash of
the message id. In practice the metadata is JSON in the auth server's
case, but this repo neither knows or cares about that. No functionality
is added here to read or clear the data from Redis, that's coming in a
separate changeset for the queues process.
The HMAC key for hashing the message id comes from config, obviously,
because it's secret. It has a very specific name at the moment, but we
should feel free to rename it to something more generic than that if we
have other data that we'd like to hash with it in the future.
https://github.com/mozilla/fxa-email-service/pull/72
r=vladikoff
Loads bounce limits from config and then checks email addresses against
those limits before sending the email. If any address violates a limit,
the request will fail with status 429 and email will not be sent.
As it introduces a dependency on the fxa-auth-db-mysql repo, some extra
scripting has been thrown in to make working with node.js easier.
Running `./tdb` will check whether an `fxa-auth-db-mysql` directory
exists and, if not, clone the repo. Then it will check for running db
server processes and, if none are found, run `npm i`, run the db patcher
and start the db server in a background process. Then it finishes by
invoking the existing `./t` script.
This is not ideal because it leaves the node process running in the
background after tests have finished. But I figure it's good enough for
now because it only leaves one of them running, they don't multiply with
subsequent test runs. And you don't have to use the new script of
course, if you already have the db server running in fxa-local-dev, you
can just run `./t` and the tests should pass. The new script is mostly
there for Travis' benefit.
https://github.com/mozilla/fxa-email-service/pull/22
r=rfk,vbudhram