Skip to main content

Datasette plugin that redirects all non-https requests to https

Project description

datasette-redirect-to-https

PyPI Changelog Tests License

Datasette plugin that redirects all non-https requests to https

Installation

Install this plugin in the same environment as Datasette.

$ datasette install datasette-redirect-to-https

Usage

Once installed, incoming GET requests to the http:// protocol will be 301 redirected to the https:// equivalent page.

HTTP verbs other than GET will get a 405 Method Not Allowed HTTP error.

Configuration

Some hosting providers handle HTTPS for you, passing requests back to your application server over HTTP.

For this plugin to work correctly, you need to detect that they the original incoming request came in over HTTP.

Hosting providers like this often set an additional HTTP header such as x-forwarded-proto: http to let you know the original protocol.

You can configure datasette-redirect-to-https to respect this header using the following plugin configuration in metadata.json:

{
  "plugins": {
    "datasette-redirect-to-https": {
      "if_headers": {
        "x-forwarded-proto": "http"
      }
    }
  }
}

The above example will redirect to https:// if the incoming request has a x-forwarded-proto: http request header.

If multiple if_headers are listed, the redirect will occur if any of them match.

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd datasette-redirect-to-https
python3 -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datasette-redirect-to-https-0.2.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datasette_redirect_to_https-0.2-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file datasette-redirect-to-https-0.2.tar.gz.

File metadata

File hashes

Hashes for datasette-redirect-to-https-0.2.tar.gz
Algorithm Hash digest
SHA256 522bbf1b159eacf065d64d2913f91ffe9dcd5adc66ee229dcb5c7dc1509822bc
MD5 4e0af69f034753b694db932c725ac73d
BLAKE2b-256 eb8973df25db5bffd367545399ad2a3dfd824f946ba480f277e8564c8536b554

See more details on using hashes here.

File details

Details for the file datasette_redirect_to_https-0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for datasette_redirect_to_https-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 43834db734a1d3aead5fde413a6527ca54f074d4ecc4a837ce52994c75ee10e2
MD5 8032ba00f856f7ce966ea76d379fc08d
BLAKE2b-256 294bec4511c9533350841bceaf3dbb4d72508c60cdd3bd806ed1893ec430d88b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page