glance.api.middleware package


glance.api.middleware.cache module

Transparent image file caching middleware, designed to live on Glance API nodes. When images are requested from the API node, this middleware caches the returned image file to local filesystem.

When subsequent requests for the same image file are received, the local cached copy of the image file is returned.

class glance.api.middleware.cache.CacheFilter(app)[source]

Bases: glance.common.wsgi.Middleware


Called if cache hit


Returns the integer status code from the response, which can be either a Webob.Response (used in testing) or httplib.Response


For requests for an image file, we check the local image cache. If present, we return the image file, appending the image metadata in headers. If not present, we pass the request on to the next application in the pipeline.


We intercept the response coming back from the main images Resource, removing image file from the cache if necessary

glance.api.middleware.cache_manage module

Image Cache Management API

class glance.api.middleware.cache_manage.CacheManageFilter(app)[source]

Bases: glance.common.wsgi.Middleware


glance.api.middleware.context module

class glance.api.middleware.context.BaseContextMiddleware(application)[source]

Bases: glance.common.wsgi.Middleware

class glance.api.middleware.context.ContextMiddleware(app)[source]

Bases: glance.api.middleware.context.BaseContextMiddleware


Convert authentication information into a request context

Generate a glance.context.RequestContext object from the available authentication headers and store on the ‘context’ attribute of the req object.

Parameters:req – wsgi request object that will be given the context object
Raises:webob.exc.HTTPUnauthorized: when value of the X-Identity-Status header is not ‘Confirmed’ and anonymous access is disallowed
class glance.api.middleware.context.UnauthenticatedContextMiddleware(application)[source]

Bases: glance.api.middleware.context.BaseContextMiddleware


Create a context without an authorized user.

glance.api.middleware.gzip module

Use gzip compression if the client accepts it.

class glance.api.middleware.gzip.GzipMiddleware(app)[source]

Bases: glance.common.wsgi.Middleware

re_zip = <_sre.SRE_Pattern object at 0x7f8ac85dd210>

glance.api.middleware.version_negotiation module

A filter middleware that inspects the requested URI for a version string and/or Accept headers and attempts to negotiate an API controller to return

class glance.api.middleware.version_negotiation.GlareVersionNegotiationFilter(app)[source]

Bases: glance.api.middleware.version_negotiation.VersionNegotiationFilter

class glance.api.middleware.version_negotiation.VersionNegotiationFilter(app)[source]

Bases: glance.common.wsgi.Middleware


Try to find a version first in the accept header, then the URL

Module contents