diff --git a/httpie/cli.py b/httpie/cli.py index b35d33fb..2c7c92cb 100644 --- a/httpie/cli.py +++ b/httpie/cli.py @@ -89,6 +89,7 @@ positional.add_argument( metavar='URL', help=""" The scheme defaults to 'http://' if the URL does not include one. + (You can override this with: --default-scheme https) You can also use a shorthand for localhost @@ -611,6 +612,15 @@ troubleshooting.add_argument( """ ) +troubleshooting.add_argument( + '--default-scheme', + choices=["http", "https"], + default="http", + help=""" + Default scheme to use if not specified in the URL. + + """ +) troubleshooting.add_argument( '--debug', action='store_true', diff --git a/httpie/input.py b/httpie/input.py index d1f6600f..e003c30d 100644 --- a/httpie/input.py +++ b/httpie/input.py @@ -153,7 +153,7 @@ class HTTPieArgumentParser(ArgumentParser): if not self.args.ignore_stdin and not env.stdin_isatty: self._body_from_file(self.env.stdin) if not URL_SCHEME_RE.match(self.args.url): - scheme = HTTP + scheme = self.args.default_scheme + "://" # See if we're using curl style shorthand for localhost (:3000/foo) shorthand = re.match(r'^:(?!:)(\d*)(/?.*)$', self.args.url)