Renderers¶
Renderers are the managers of request body enconding and the content-type header.
Renderer name | Content-type | Encoding |
---|---|---|
form | application/x-www-form-urlencoded | param1=value1¶m2=value2 |
multipart | multipart/form-data | Content-Disposition: form-data; name=”param1”nnvalue1 |
plain | text/plain; charset=utf-8 | param1=value1\nparam2=value2 |
json | application/json | {“param1”: “value1”, “param2”: “value2”} |
JSONRenderer¶
Build the body for a application/json request.
FormRenderer¶
Build the body for a application/x-www-form-urlencoded request.
MultiPartRenderer¶
Build the body for a multipart/form-data request.
PlainTextRenderer¶
Build the body for a text/plain request.
Renderers module¶
-
class
sdklib.http.renderers.
FormRenderer
(collection_format='multi', output_str='javascript', sort=False)[source]¶ Bases:
sdklib.http.renderers.BaseRenderer
-
COLLECTION_SEPARATORS
= {'csv': ',', 'pipes': '|', 'ssv': ' ', 'tsv': '\t'}¶
-
DEFAULT_CONTENT_TYPE
= 'application/x-www-form-urlencoded'¶
-
VALID_COLLECTION_FORMATS
= ['multi', 'csv', 'ssv', 'tsv', 'pipes', 'encoded']¶
-
collection_format
¶
-
-
class
sdklib.http.renderers.
JSONRenderer
[source]¶ Bases:
sdklib.http.renderers.BaseRenderer
-
DEFAULT_CONTENT_TYPE
= 'application/json'¶
-
-
class
sdklib.http.renderers.
MultiPartRenderer
(boundary='----------ThIs_Is_tHe_bouNdaRY', output_str='javascript')[source]¶ Bases:
sdklib.http.renderers.BaseRenderer
-
encode_params
(data=None, files=None, **kwargs)[source]¶ Build the body for a multipart/form-data request. Will successfully encode files when passed as a dict or a list of tuples. Order is retained if data is a list of tuples but arbitrary if parameters are supplied as a dict. The tuples may be string (filepath), 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype) or 4-tuples (filename, fileobj, contentype, custom_headers).
-
-
class
sdklib.http.renderers.
PlainTextRenderer
(charset=None, collection_format='multi', output_str='javascript')[source]¶ Bases:
sdklib.http.renderers.BaseRenderer
-
COLLECTION_SEPARATORS
= {'csv': ',', 'pipes': '|', 'ssv': ' ', 'tsv': '\t'}¶
-
VALID_COLLECTION_FORMATS
= ['multi', 'csv', 'ssv', 'tsv', 'pipes', 'plain']¶
-
collection_format
¶
-
-
class
sdklib.http.renderers.
XMLRenderer
[source]¶ Bases:
sdklib.http.renderers.BaseRenderer
-
DEFAULT_CONTENT_TYPE
= 'application/xml'¶
-
-
sdklib.http.renderers.
guess_file_name_stream_type_header
(args)[source]¶ Guess filename, file stream, file type, file header from args.
Parameters: args – may be string (filepath), 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype) or 4-tuples (filename, fileobj, contentype, custom_headers). :return: filename, file stream, file type, file header