Go to file
Tobias Diaz b69f3a1f0a Only log application/json content type
This is a combination of 2 commits. The first commit's
message is:

Prevent MemoryError when logging response bodies

Response bodies are loaded into memory prior to
being logged.

Loading huge response bodies may result in a
MemoryError.

This patch proposes that only JSON and TEXT
responses be logged, i.e when the Content-Type
header is application/json or application/text.

Responses that do not include or have a different
Content-Type header will have their body omitted.

This is a sort of backport of the fix for
keystoneauth sessions, see
I93b6fff73368c4f58bdebf8566c4948b50980cee

Co-Authored-By: Samuel de Medeiros Queiroz <samueldmq@gmail.com>

Closes-bug: 1616105

Change-Id: I8f43eee3a0b35041c6cf672e476f8151cf2f8d14
(cherry-picked from: 3e56e0d7e5)

Only log application/json in session to start

When whitelisting content types to debug print from session we chose
application/json and application/text. application/text is not a real
mime type, text is typically text/plain.

Rather than guess at mime types only print application/json to start
with, but make it easy for additional types to be added later.

Adapted from keystoneauth: Ica5fee076cdab8b1d5167161d28af7313fad9477
Related-Bug: 1616105

Change-Id: Ieaa8fb3ea8d25e09b89498f23b70b18c0f6153f1
(cherry-picked from: 51d16fa344)
2017-01-11 00:06:15 -05:00
2016-05-31 15:48:31 -04:00
2016-09-02 09:42:34 -04:00
2014-05-07 12:12:43 -07:00
2015-02-13 17:55:34 +11:00
2012-09-29 16:03:23 -07:00
2011-10-25 16:50:08 -07:00
2016-08-05 16:25:02 +08:00
2015-09-17 12:16:43 +00:00

Python bindings to the OpenStack Identity API (Keystone)

Latest Version

Downloads

This is a client for the OpenStack Identity API, implemented by the Keystone team; it contains a Python API (the keystoneclient module) for OpenStack's Identity Service. For command line interface support, use OpenStackClient.

Contents:

Python API

By way of a quick-start:

>>> from keystoneauth1.identity import v3
>>> from keystoneauth1 import session
>>> from keystoneclient.v3 import client
>>> auth = v3.Password(auth_url="http://example.com:5000/v3", username="admin",
...                     password="password", project_name="admin",
...                     user_domain_id="default", project_domain_id="default")
>>> sess = session.Session(auth=auth)
>>> keystone = client.Client(session=sess)
>>> keystone.projects.list()
    [...]
>>> project = keystone.projects.create(name="test", description="My new Project!", domain="default", enabled=True)
>>> project.delete()
Description
OpenStack Identity (Keystone) Client
Readme 33 MiB
Languages
Python 100%