0a4f4aff6c
Currently Glance ignores the Accept-Encoding header and returns responses as they are regardless the client accepts gzip or other type of compression. This patch adds this capability to glance (by using a middleware) supporting just gzip for now. Important note: - The patch uses a lazy compression for Content-Type application/octet-stream but in order to do that, the content-length has to be unset which means that when an image is downloaded the content-length will be unknown to the client. Fixes bug: 1150380 Change-Id: Ieb65837d4e3fe310f97d9666882ecc572b14956a
61 lines
2.0 KiB
INI
61 lines
2.0 KiB
INI
# Use this pipeline for no auth or image caching - DEFAULT
|
|
[pipeline:glance-api]
|
|
pipeline = versionnegotiation unauthenticated-context rootapp
|
|
|
|
# Use this pipeline for image caching and no auth
|
|
[pipeline:glance-api-caching]
|
|
pipeline = versionnegotiation unauthenticated-context cache rootapp
|
|
|
|
# Use this pipeline for caching w/ management interface but no auth
|
|
[pipeline:glance-api-cachemanagement]
|
|
pipeline = versionnegotiation unauthenticated-context cache cachemanage rootapp
|
|
|
|
# Use this pipeline for keystone auth
|
|
[pipeline:glance-api-keystone]
|
|
pipeline = versionnegotiation authtoken context rootapp
|
|
|
|
# Use this pipeline for keystone auth with image caching
|
|
[pipeline:glance-api-keystone+caching]
|
|
pipeline = versionnegotiation authtoken context cache rootapp
|
|
|
|
# Use this pipeline for keystone auth with caching and cache management
|
|
[pipeline:glance-api-keystone+cachemanagement]
|
|
pipeline = versionnegotiation authtoken context cache cachemanage rootapp
|
|
|
|
[composite:rootapp]
|
|
paste.composite_factory = glance.api:root_app_factory
|
|
/: apiversions
|
|
/v1: apiv1app
|
|
/v2: apiv2app
|
|
|
|
[app:apiversions]
|
|
paste.app_factory = glance.api.versions:create_resource
|
|
|
|
[app:apiv1app]
|
|
paste.app_factory = glance.api.v1.router:API.factory
|
|
|
|
[app:apiv2app]
|
|
paste.app_factory = glance.api.v2.router:API.factory
|
|
|
|
[filter:versionnegotiation]
|
|
paste.filter_factory = glance.api.middleware.version_negotiation:VersionNegotiationFilter.factory
|
|
|
|
[filter:cache]
|
|
paste.filter_factory = glance.api.middleware.cache:CacheFilter.factory
|
|
|
|
[filter:cachemanage]
|
|
paste.filter_factory = glance.api.middleware.cache_manage:CacheManageFilter.factory
|
|
|
|
[filter:context]
|
|
paste.filter_factory = glance.api.middleware.context:ContextMiddleware.factory
|
|
|
|
[filter:unauthenticated-context]
|
|
paste.filter_factory = glance.api.middleware.context:UnauthenticatedContextMiddleware.factory
|
|
|
|
[filter:authtoken]
|
|
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
|
|
delay_auth_decision = true
|
|
|
|
[filter:gzip]
|
|
paste.filter_factory = glance.api.middleware.gzip:GzipMiddleware.factory
|