parameters: ()
docstring: Tee response output to cache storage. Internal.
docstring_summary: Tee response output to cache storage. Internal.
docstring_tokens: Tee response output to cache storage . Internal .
function: def tee_output():
      """Tee response output to cache storage. Internal."""
      # Used by CachingTool by attaching to request.hooks
  
      request = cherrypy.serving.request
      if 'no-store' in request.headers.values('Cache-Control'):
          return
  
      def tee(body):
          """Tee response.body into a list."""
          if ('no-cache' in response.headers.values('Pragma') or
                  'no-store' in response.headers.values('Cache-Control')):
              for chunk in body:
                  yield chunk
              return
  
          output = []
          for chunk in body:
              output.append(chunk)
              yield chunk
  
          # save the cache data
          body = b''.join(output)
          cherrypy._cache.put((response.status, response.headers or {},
                               body, response.time), len(body))
  
      response = cherrypy.serving.response
      response.body = tee(response.body)
function_tokens: def tee_output ( ) : # Used by CachingTool by attaching to request.hooks request = cherrypy . serving . request if 'no-store' in request . headers . values ( 'Cache-Control' ) : return def tee ( body ) : """Tee response.body into a list.""" if ( 'no-cache' in response . headers . values ( 'Pragma' ) or 'no-store' in response . headers . values ( 'Cache-Control' ) ) : for chunk in body : yield chunk return output = [ ] for chunk in body : output . append ( chunk ) yield chunk # save the cache data body = b'' . join ( output ) cherrypy . _cache . put ( ( response . status , response . headers or { } , body , response . time ) , len ( body ) ) response = cherrypy . serving . response response . body = tee ( response . body )