SkyLothar / requests-ucloud

UCloud authentication for the awesome requests!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UCloud authentication for the awesome requests!

https://travis-ci.org/SkyLothar/requests-ucloud.svg?branch=master https://coveralls.io/repos/SkyLothar/requests-ucloud/badge.png https://requires.io/github/SkyLothar/requests-ucloud/requirements.svg?branch=master Supported Python versions License

How to Install

Just

pip install requests-ucloud

How to Use

Just pass the auth object to requests

Omni API Auth

For common api and ufile authentication

>>> import requests
>>> from ucloudauth import UCloudOmniAuth
>>> session = reqeusts.session()
>>> session.auth = UCloudOmniAuth("public-key", "private-key")
>>> session.get(
...     "http://api.ucloud.cn",
...     params=dict(Action="SomeAction")  # demo of common api
... )
<Response [200]>
>>> session.put(
...     "http://bucket.ufile.ucloud.cn/key",
...     data="test-data"  # demo of ufile api
... )
<Response [200]>

Common UCloud Auth

>>> import requests
>>> from ucloudauth import UCloudAuth
>>> requests.get(
...     "https://api.ucloud.cn/",
...     params=dict(SomeParams="SomeValue"),
...     auth=UCLoudAuth("public-key", "private-key")
... )
<Response [200]>

UFile Object Auth

>>> import requests
>>> from ucloudauth import UFile
>>> session = requests.session()
>>> session.auth = UFileAuth(
...     "public-key",
...     "private-key",
...     expires=None,  # for signing in url, expires is unix `timestamp`
...     expires_in=None,  # for signing in url, expires in `x` seconds
...     allow_empty_md5=False  # if no content-md5 was provided, UFileAuth will calculate for you
...     # set to `True` to disable this function
... )
>>> req = session.put(
...     "http://bucket-name.ufile.ucloud.cn/test-key.txt",
...     data="test-data"
... )
<Response [200]>
>>> url_auth = UFileAuth(
...     "public-key",
...     "private-key",
...     expires=None,  # for signing in url, expires is unix `timestamp`
...     expires_in=10,  # for signing in url, expires in 10 seconds
... )
>>> req = requests.Request(
...     "GET",  # http method
...     "http://bucket-name.ufile.ucloud.cn/test-key.txt",  # url
...     auth=url_auth
... )
>>> req.prepare().url
"http://bucket-name.ufile.cloud.cn/test-key.txt?Signature&Other&Params"

UCloud API

View full UCloud API

UFile API

View full UFile API

About

UCloud authentication for the awesome requests!

License:Apache License 2.0


Languages

Language:Python 100.0%