This file is indexed.

/usr/share/doc/python3-paste/docs/modules/wsgilib.html is in python3-paste 1.7.5.1-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>paste.wsgilib – Miscellaneous WSGI utility functions &mdash; Paste 1.7.5.1 documentation</title>
    
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '1.7.5.1',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="top" title="Paste 1.7.5.1 documentation" href="../index.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li><a href="../index.html">Paste 1.7.5.1 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="module-paste.wsgilib">
<span id="paste-wsgilib-miscellaneous-wsgi-utility-functions"></span><h1><a class="reference internal" href="#module-paste.wsgilib" title="paste.wsgilib"><tt class="xref py py-mod docutils literal"><span class="pre">paste.wsgilib</span></tt></a> &#8211; Miscellaneous WSGI utility functions<a class="headerlink" href="#module-paste.wsgilib" title="Permalink to this headline"></a></h1>
<p>A module of many disparate routines.</p>
<div class="section" id="module-contents">
<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline"></a></h2>
<dl class="function">
<dt id="paste.wsgilib.add_close">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">add_close</tt><big>(</big><em>app_iterable</em>, <em>close_func</em><big>)</big><a class="headerlink" href="#paste.wsgilib.add_close" title="Permalink to this definition"></a></dt>
<dd><p>An an iterable that iterates over app_iter, then calls
close_func.</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.add_start_close">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">add_start_close</tt><big>(</big><em>app_iterable</em>, <em>start_func</em>, <em>close_func=None</em><big>)</big><a class="headerlink" href="#paste.wsgilib.add_start_close" title="Permalink to this definition"></a></dt>
<dd><p>An an iterable that iterates over app_iter, calls start_func
before the first item is returned, then calls close_func at the
end.</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.chained_app_iters">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">chained_app_iters</tt><big>(</big><em>*chained</em><big>)</big><a class="headerlink" href="#paste.wsgilib.chained_app_iters" title="Permalink to this definition"></a></dt>
<dd><p>Chains several app_iters together, also delegating .close() to each
of them.</p>
</dd></dl>

<dl class="class">
<dt id="paste.wsgilib.encode_unicode_app_iter">
<em class="property">class </em><tt class="descclassname">paste.wsgilib.</tt><tt class="descname">encode_unicode_app_iter</tt><big>(</big><em>app_iterable</em>, <em>encoding='utf-8'</em>, <em>errors='strict'</em><big>)</big><a class="headerlink" href="#paste.wsgilib.encode_unicode_app_iter" title="Permalink to this definition"></a></dt>
<dd><p>Encodes an app_iterable&#8217;s unicode responses as strings</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.catch_errors">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">catch_errors</tt><big>(</big><em>application</em>, <em>environ</em>, <em>start_response</em>, <em>error_callback</em>, <em>ok_callback=None</em><big>)</big><a class="headerlink" href="#paste.wsgilib.catch_errors" title="Permalink to this definition"></a></dt>
<dd><p>Runs the application, and returns the application iterator (which should be
passed upstream).  If an error occurs then error_callback will be called with
exc_info as its sole argument.  If no errors occur and ok_callback is given,
then it will be called with no arguments.</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.catch_errors_app">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">catch_errors_app</tt><big>(</big><em>application</em>, <em>environ</em>, <em>start_response</em>, <em>error_callback_app</em>, <em>ok_callback=None</em>, <em>catch=&lt;class 'Exception'&gt;</em><big>)</big><a class="headerlink" href="#paste.wsgilib.catch_errors_app" title="Permalink to this definition"></a></dt>
<dd><p>Like <tt class="docutils literal"><span class="pre">catch_errors</span></tt>, except error_callback_app should be a
callable that will receive <em>three</em> arguments &#8211; <tt class="docutils literal"><span class="pre">environ</span></tt>,
<tt class="docutils literal"><span class="pre">start_response</span></tt>, and <tt class="docutils literal"><span class="pre">exc_info</span></tt>.  It should call
<tt class="docutils literal"><span class="pre">start_response</span></tt> (<em>with</em> the exc_info argument!) and return an
iterator.</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.raw_interactive">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">raw_interactive</tt><big>(</big><em>application</em>, <em>path=''</em>, <em>raise_on_wsgi_error=False</em>, <em>**environ</em><big>)</big><a class="headerlink" href="#paste.wsgilib.raw_interactive" title="Permalink to this definition"></a></dt>
<dd><p>Runs the application in a fake environment.</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.interactive">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">interactive</tt><big>(</big><em>*args</em>, <em>**kw</em><big>)</big><a class="headerlink" href="#paste.wsgilib.interactive" title="Permalink to this definition"></a></dt>
<dd><p>Runs the application interatively, wrapping <cite>raw_interactive</cite> but
returning the output in a formatted way.</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.dump_environ">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">dump_environ</tt><big>(</big><em>environ</em>, <em>start_response</em><big>)</big><a class="headerlink" href="#paste.wsgilib.dump_environ" title="Permalink to this definition"></a></dt>
<dd><p>Application which simply dumps the current environment
variables out as a plain text response.</p>
</dd></dl>

<dl class="function">
<dt id="paste.wsgilib.intercept_output">
<tt class="descclassname">paste.wsgilib.</tt><tt class="descname">intercept_output</tt><big>(</big><em>environ</em>, <em>application</em>, <em>conditional=None</em>, <em>start_response=None</em><big>)</big><a class="headerlink" href="#paste.wsgilib.intercept_output" title="Permalink to this definition"></a></dt>
<dd><p>Runs application with environ and captures status, headers, and
body.  None are sent on; you must send them on yourself (unlike
<tt class="docutils literal"><span class="pre">capture_output</span></tt>)</p>
<p>Typically this is used like:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">dehtmlifying_middleware</span><span class="p">(</span><span class="n">application</span><span class="p">):</span>
    <span class="k">def</span> <span class="nf">replacement_app</span><span class="p">(</span><span class="n">environ</span><span class="p">,</span> <span class="n">start_response</span><span class="p">):</span>
        <span class="n">status</span><span class="p">,</span> <span class="n">headers</span><span class="p">,</span> <span class="n">body</span> <span class="o">=</span> <span class="n">intercept_output</span><span class="p">(</span>
            <span class="n">environ</span><span class="p">,</span> <span class="n">application</span><span class="p">)</span>
        <span class="n">start_response</span><span class="p">(</span><span class="n">status</span><span class="p">,</span> <span class="n">headers</span><span class="p">)</span>
        <span class="n">content_type</span> <span class="o">=</span> <span class="n">header_value</span><span class="p">(</span><span class="n">headers</span><span class="p">,</span> <span class="s">&#39;content-type&#39;</span><span class="p">)</span>
        <span class="k">if</span> <span class="p">(</span><span class="ow">not</span> <span class="n">content_type</span>
            <span class="ow">or</span> <span class="ow">not</span> <span class="n">content_type</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">&#39;text/html&#39;</span><span class="p">)):</span>
            <span class="k">return</span> <span class="p">[</span><span class="n">body</span><span class="p">]</span>
        <span class="n">body</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s">r&#39;&lt;.*?&gt;&#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">,</span> <span class="n">body</span><span class="p">)</span>
        <span class="k">return</span> <span class="p">[</span><span class="n">body</span><span class="p">]</span>
    <span class="k">return</span> <span class="n">replacement_app</span>
</pre></div>
</div>
<p>A third optional argument <tt class="docutils literal"><span class="pre">conditional</span></tt> should be a function
that takes <tt class="docutils literal"><span class="pre">conditional(status,</span> <span class="pre">headers)</span></tt> and returns False if
the request should not be intercepted.  In that case
<tt class="docutils literal"><span class="pre">start_response</span></tt> will be called and <tt class="docutils literal"><span class="pre">(None,</span> <span class="pre">None,</span> <span class="pre">app_iter)</span></tt>
will be returned.  You must detect that in your code and return
the app_iter, like:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">dehtmlifying_middleware</span><span class="p">(</span><span class="n">application</span><span class="p">):</span>
    <span class="k">def</span> <span class="nf">replacement_app</span><span class="p">(</span><span class="n">environ</span><span class="p">,</span> <span class="n">start_response</span><span class="p">):</span>
        <span class="n">status</span><span class="p">,</span> <span class="n">headers</span><span class="p">,</span> <span class="n">body</span> <span class="o">=</span> <span class="n">intercept_output</span><span class="p">(</span>
            <span class="n">environ</span><span class="p">,</span> <span class="n">application</span><span class="p">,</span>
            <span class="k">lambda</span> <span class="n">s</span><span class="p">,</span> <span class="n">h</span><span class="p">:</span> <span class="n">header_value</span><span class="p">(</span><span class="n">headers</span><span class="p">,</span> <span class="s">&#39;content-type&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">&#39;text/html&#39;</span><span class="p">),</span>
            <span class="n">start_response</span><span class="p">)</span>
        <span class="k">if</span> <span class="n">status</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
            <span class="k">return</span> <span class="n">body</span>
        <span class="n">start_response</span><span class="p">(</span><span class="n">status</span><span class="p">,</span> <span class="n">headers</span><span class="p">)</span>
        <span class="n">body</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s">r&#39;&lt;.*?&gt;&#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">,</span> <span class="n">body</span><span class="p">)</span>
        <span class="k">return</span> <span class="p">[</span><span class="n">body</span><span class="p">]</span>
    <span class="k">return</span> <span class="n">replacement_app</span>
</pre></div>
</div>
</dd></dl>

</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#"><tt class="docutils literal"><span class="pre">paste.wsgilib</span></tt> &#8211; Miscellaneous WSGI utility functions</a><ul>
<li><a class="reference internal" href="#module-contents">Module Contents</a></li>
</ul>
</li>
</ul>

  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/modules/wsgilib.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li><a href="../index.html">Paste 1.7.5.1 documentation</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2008, Ian Bicking.
      Last updated on Sep 19, 2013.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>
  </body>
</html>