Http package:configuration-tools

We restrict services to use either HTTP or HTTPS but not both. TLS can be turned off explicitely in the configuration file by setting the respective section to null. It can not be turned on or off via command line options. But once it is turned on the values for the certificate and key file can be changed by command line options.
In order to make TLS optional this type should be used wrapped into a Maybe.
This option parser does not allow to enable or disable usage of TLS. The option will have effect only when TLS usage is configured in the configuration file or the default configuration. FIXME: print a warning and exit when one of these options is provided even though TLS is turned off.
Validates that a value is an HTTP or HTTPS URL
Validates that a value is an HTTP URL
Validates that a value is an HTTPS URL