1
0
mirror of https://github.com/httpie/cli.git synced 2025-08-10 22:42:05 +02:00

Added support for auth plugins.

This commit is contained in:
Jakub Roztocil
2013-09-21 23:46:15 +02:00
parent f7b703b4bf
commit 2acb303552
11 changed files with 159 additions and 25 deletions

View File

@@ -7,6 +7,7 @@ import requests.auth
from . import sessions
from . import __version__
from .plugins import plugin_manager
FORM = 'application/x-www-form-urlencoded; charset=utf-8'
@@ -14,6 +15,12 @@ JSON = 'application/json; charset=utf-8'
DEFAULT_UA = 'HTTPie/%s' % __version__
class HTTPie(object):
def __init__(self, env, plugin_manager):
pass
def get_response(args, config_dir):
"""Send the request and return a `request.Response`."""
@@ -27,6 +34,7 @@ def get_response(args, config_dir):
response = requests.request(**requests_kwargs)
else:
response = sessions.get_response(
args=args,
config_dir=config_dir,
session_name=args.session or args.session_read_only,
requests_kwargs=requests_kwargs,
@@ -69,10 +77,8 @@ def get_requests_kwargs(args):
credentials = None
if args.auth:
credentials = {
'basic': requests.auth.HTTPBasicAuth,
'digest': requests.auth.HTTPDigestAuth,
}[args.auth_type](args.auth.key, args.auth.value)
auth_plugin = plugin_manager.get_auth_plugin(args.auth_type)()
credentials = auth_plugin.get_auth(args.auth.key, args.auth.value)
kwargs = {
'stream': True,