Shelf Enforces SSL

Ensures that only API Requests with a HTTPS connection are accepted. Inspired by github.com/hengkiardo/express-enforces-ssl

Installing

dart pub add shelf_enforces_ssl

Usage

As shelf middleware

import 'package:shelf_enforces_ssl/shelf_enforces_ssl.dart';

  var handler =
      const Pipeline().addMiddleware(enforceSSL()).addMiddleware(logRequests()).addHandler(_echoRequest);

As dart_frog middleware

import 'package:shelf_enforces_ssl/shelf_enforces_ssl.dart';

Handler enforceSSL(Handler handler) {
    return handler.use(fromShelfMiddleware(enforceSSL()));
}

Defining custom error response

.addMiddleware(
    enforceSSL(
      errorResponse: Response(
        403,
        body: 'Please use HTTPS when you try to send data to this API',
      ),
    ),
  ),

Libraries

shelf_enforces_ssl
Middleware that will enforce Users to use HTTPS.