Irrigation HTTPS redirect service.
• Mark Eschbach
So the core Irrigation service is designed to do a single thing: route incoming requests to a target service. A common rule in many routing layers is to rewrite requests from HTTP to HTTPS. Since Irrigation should not really be doing this I am going to bring up another service to do this.
For idempotent requests such as
HEAD the service should issue permanent redirects to the same URI. For all
other requests the service should issue a
405 Method Not Allowed.
Now for a big question: how should I implement this? Since I am not doing any fancy routing I am really tempted to just go with the plain HTTP library in NodeJS. Going with Express does not provide any particular value on the redirect plane because we are just sending a redirect or method not allowed.
junk-drawer is totally going to be used here.
Simple to implement via the
http module. Turns out one needs to add
simple: false to the
to prevent status codes other than the 200 series from failing.
followRedirect: false also solves the problem of