]> jfr.im git - z_archive/twitter.git/blob - twitter/auth.py
Another removal of term encoding (py3_only)
[z_archive/twitter.git] / twitter / auth.py
1 import urllib.request, urllib.parse, urllib.error
2 from base64 import encodestring
3
4 class Auth(object):
5 """
6 ABC for Authenticator objects.
7 """
8
9 def encode_params(self, base_url, method, params):
10 """Encodes parameters for a request suitable for including in a URL
11 or POST body. This method may also add new params to the request
12 if required by the authentication scheme in use."""
13 raise NotImplementedError()
14
15 def generate_headers(self):
16 """Generates headers which should be added to the request if required
17 by the authentication scheme in use."""
18 raise NotImplementedError()
19
20
21 class NoAuth(Auth):
22 """
23 No authentication authenticator.
24 """
25 def __init__(self):
26 pass
27
28 def encode_params(self, base_url, method, params):
29 return urllib.parse.urlencode(params)
30
31 def generate_headers(self):
32 return {}