1
<?xml version="1.0" encoding="ascii"?>
1
<?xml version="1.0" encoding="iso-8859-1"?>
2
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
3
"DTD/xhtml1-transitional.dtd">
4
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
6
<title>openid.server.server.Decoder</title>
7
<link rel="stylesheet" href="epydoc.css" type="text/css" />
8
<script type="text/javascript" src="epydoc.js"></script>
7
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
11
9
<body bgcolor="white" text="black" link="blue" vlink="#204080"
13
<!-- ==================== NAVIGATION BAR ==================== -->
14
<table class="navbar" border="0" width="100%" cellpadding="0"
15
bgcolor="#a0c0ff" cellspacing="0">
18
<th> <a
19
href="openid-module.html">Home</a> </th>
22
<th> <a
23
href="module-tree.html">Trees</a> </th>
26
<th> <a
27
href="identifier-index.html">Indices</a> </th>
30
<th> <a
31
href="help.html">Help</a> </th>
33
<!-- Project homepage -->
34
<th class="navbar" align="right" width="100%">
35
<table border="0" cellpadding="0" cellspacing="0">
36
<tr><th class="navbar" align="center"
37
><a class="navbar" target="_top" href="http://www.openidenabled.com/">Python-OpenID</a></th>
12
<!-- =========== START OF NAVBAR =========== -->
13
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
15
<th class="navbar"> <a class="navbar" href="openid-module.html">Home</a> </th>
16
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
17
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
18
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
19
<th class="navbar" align="right" width="100%">
20
<table border="0" cellpadding="0" cellspacing="0">
21
<tr><th class="navbar" align="center">
23
<a class="navbar" target="_top" href="http://www.openidenabled.com/">Python-OpenID</a>
24
</p></th></tr></table>
41
28
<table width="100%" cellpadding="0" cellspacing="0">
44
<span class="breadcrumbs">
31
<font size="-1"><b class="breadcrumbs">
45
32
<a href="openid-module.html">Package openid</a> ::
46
33
<a href="openid.server-module.html">Package server</a> ::
47
34
<a href="openid.server.server-module.html">Module server</a> ::
52
<table cellpadding="0" cellspacing="0">
53
<!-- hide/show private -->
54
<tr><td align="right"><span class="options"
55
>[<a href="frames.html" target="_top">frames</a
56
>] | <a href="openid.server.server.Decoder-class.html"
57
target="_top">no frames</a>]</span></td></tr>
62
<!-- ==================== CLASS DESCRIPTION ==================== -->
63
<h1 class="epydoc">Class Decoder</h1><span class="codelink"><a href="openid.server.server-pysrc.html#Decoder">source code</a></span><br /><br />
38
<td><table cellpadding="0" cellspacing="0">
39
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a> | <a href="openid.server.server.Decoder-class.html" target="_top">no frames</a>]</font></td></tr>
43
<!-- =========== START OF CLASS DESCRIPTION =========== -->
44
<h2 class="class">Type Decoder</h2>
64
46
<pre class="base-tree">
47
<a href="__builtin__.object-class.html"><code>object</code></a> --+
67
<strong class="uidshort">Decoder</strong>
71
54
I decode an incoming web request in to a <a
72
href="openid.server.server.OpenIDRequest-class.html"
73
class="link">OpenIDRequest</a>.<br /><br />
75
<!-- ==================== INSTANCE METHODS ==================== -->
76
<a name="section-InstanceMethods"></a>
77
<table class="summary" border="1" cellpadding="3"
78
cellspacing="0" width="100%" bgcolor="white">
79
<tr bgcolor="#70b0f0" class="table-header">
80
<td colspan="2" class="table-header">
81
<table border="0" cellpadding="0" cellspacing="0" width="100%">
83
<td align="left"><span class="table-header">Instance Methods</span></td>
84
<td align="right" valign="top"
85
><span class="options">[<a href="#section-InstanceMethods"
86
class="privatelink" onclick="toggle_private();"
87
>hide private</a>]</span></td>
93
<td width="15%" align="right" valign="top" class="summary">
94
<span class="summary-type"><a href="openid.server.server.OpenIDRequest-class.html"
95
class="link">OpenIDRequest</a></span>
96
</td><td class="summary">
97
<span class="summary-sig"><a href="openid.server.server.Decoder-class.html#decode" class="summary-sig-name">decode</a>(<span class="summary-sig-arg">self</span>,
98
<span class="summary-sig-arg">query</span>)</span><br />
99
I transform query parameters into an <a
100
href="openid.server.server.OpenIDRequest-class.html"
101
class="link">OpenIDRequest</a>.
105
<td width="15%" align="right" valign="top" class="summary">
106
<span class="summary-type"> </span>
107
</td><td class="summary">
108
<span class="summary-sig"><a href="openid.server.server.Decoder-class.html#defaultDecoder" class="summary-sig-name">defaultDecoder</a>(<span class="summary-sig-arg">self</span>,
109
<span class="summary-sig-arg">query</span>)</span><br />
110
Called to decode queries when no handler for that mode is
115
<td colspan="2" class="summary">
116
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
117
<code>__delattr__</code>,
118
<code>__getattribute__</code>,
119
<code>__hash__</code>,
120
<code>__init__</code>,
121
<code>__new__</code>,
122
<code>__reduce__</code>,
123
<code>__reduce_ex__</code>,
124
<code>__repr__</code>,
125
<code>__setattr__</code>,
133
<!-- ==================== PROPERTIES ==================== -->
134
<a name="section-Properties"></a>
135
<table class="summary" border="1" cellpadding="3"
136
cellspacing="0" width="100%" bgcolor="white">
137
<tr bgcolor="#70b0f0" class="table-header">
138
<td colspan="2" class="table-header">
139
<table border="0" cellpadding="0" cellspacing="0" width="100%">
141
<td align="left"><span class="table-header">Properties</span></td>
142
<td align="right" valign="top"
143
><span class="options">[<a href="#section-Properties"
144
class="privatelink" onclick="toggle_private();"
145
>hide private</a>]</span></td>
151
<td colspan="2" class="summary">
152
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
153
<code>__class__</code>
160
<!-- ==================== METHOD DETAILS ==================== -->
161
<a name="section-MethodDetails"></a>
162
<table class="summary" border="1" cellpadding="3"
163
cellspacing="0" width="100%" bgcolor="white">
164
<tr bgcolor="#70b0f0" class="table-header">
165
<td colspan="2" class="table-header">
166
<table border="0" cellpadding="0" cellspacing="0" width="100%">
168
<td align="left"><span class="table-header">Method Details</span></td>
169
<td align="right" valign="top"
170
><span class="options">[<a href="#section-MethodDetails"
171
class="privatelink" onclick="toggle_private();"
172
>hide private</a>]</span></td>
55
href="openid.server.server.OpenIDRequest-class.html"
56
class="link"><code>OpenIDRequest</code></a>.
60
<!-- =========== START OF METHOD SUMMARY =========== -->
61
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
62
<tr bgcolor="#70b0f0" class="summary">
63
<th colspan="2">Method Summary</th></tr>
64
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
65
<td><code><span class="summary-sig"><a href="openid.server.server.Decoder-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
66
<span class=summary-sig-arg>server</span>)</span></code>
68
Construct a Decoder.</td></tr>
69
<tr><td align="right" valign="top" width="15%"><font size="-1"> <a href="openid.server.server.OpenIDRequest-class.html"
70
class="link"><code>OpenIDRequest</code></a>
72
<td><code><span class="summary-sig"><a href="openid.server.server.Decoder-class.html#decode" class="summary-sig-name"><code>decode</code></a>(<span class=summary-sig-arg>self</span>,
73
<span class=summary-sig-arg>query</span>)</span></code>
75
I transform query parameters into an <a
76
href="openid.server.server.OpenIDRequest-class.html"
77
class="link"><code>OpenIDRequest</code></a>.</td></tr>
78
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
79
<td><code><span class="summary-sig"><a href="openid.server.server.Decoder-class.html#defaultDecoder" class="summary-sig-name"><code>defaultDecoder</code></a>(<span class=summary-sig-arg>self</span>,
80
<span class=summary-sig-arg>message</span>,
81
<span class=summary-sig-arg>server</span>)</span></code>
83
Called to decode queries when no handler for that mode is found.</td></tr>
85
<b>Inherited from <a href="__builtin__.object-class.html"><code>object</code></a>:</b>
86
<a href="__builtin__.object-class.html#__delattr__"><code>__delattr__</code></a>,
87
<a href="__builtin__.object-class.html#__getattribute__"><code>__getattribute__</code></a>,
88
<a href="__builtin__.object-class.html#__hash__"><code>__hash__</code></a>,
89
<a href="__builtin__.object-class.html#__new__"><code>__new__</code></a>,
90
<a href="__builtin__.object-class.html#__reduce__"><code>__reduce__</code></a>,
91
<a href="__builtin__.object-class.html#__reduce_ex__"><code>__reduce_ex__</code></a>,
92
<a href="__builtin__.object-class.html#__repr__"><code>__repr__</code></a>,
93
<a href="__builtin__.object-class.html#__setattr__"><code>__setattr__</code></a>,
94
<a href="__builtin__.object-class.html#__str__"><code>__str__</code></a>
99
<!-- =========== START OF METHOD DETAILS =========== -->
100
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
101
<tr bgcolor="#70b0f0" class="details">
102
<th colspan="2">Method Details</th></tr>
105
<a name="__init__"></a>
106
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
107
<h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
108
<span class=sig-arg>server</span>)</span>
109
<br /><i>(Constructor)</i>
113
<dl><dt><b>Parameters:</b></dt>
114
<dd><code><b>server</b></code> -
115
The server which I am decoding requests for. (Necessary
116
because some replies reference their server.)
117
<br /><i>
118
(type=<a href="openid.server.server.Server-class.html"
119
class="link"><code>Server</code></a>)</i>
122
<dl><dt><b>Overrides:</b></dt>
123
<dd><a href="__builtin__.object-class.html#__init__"><code>__builtin__.object.__init__</code></a></dd>
178
128
<a name="decode"></a>
180
<table class="details" border="1" cellpadding="3"
181
cellspacing="0" width="100%" bgcolor="white">
183
<table width="100%" cellpadding="0" cellspacing="0" border="0">
184
<tr valign="top"><td>
185
<h3 class="epydoc"><span class="sig"><span class="sig-name">decode</span>(<span class="sig-arg">self</span>,
186
<span class="sig-arg">query</span>)</span>
129
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
130
<h3><span class="sig"><span class="sig-name">decode</span>(<span class=sig-arg>self</span>,
131
<span class=sig-arg>query</span>)</span>
188
</td><td align="right" valign="top"
189
><span class="codelink"><a href="openid.server.server-pysrc.html#Decoder.decode">source code</a></span>
193
<br /><p>I transform query parameters into an <a
133
<p>I transform query parameters into an <a
194
134
href="openid.server.server.OpenIDRequest-class.html"
195
class="link">OpenIDRequest</a>.</p>
135
class="link"><code>OpenIDRequest</code></a>.</p>
196
136
If the query does not seem to be an OpenID request at all, I return
197
137
<code>None</code>.
198
138
<dl><dt></dt><dd>
199
<dl><dt>Parameters:</dt></dl>
200
<ul class="nomargin">
201
<li><strong class="pname"><code>query</code></strong> (dict) - The query parameters as a dictionary with each key mapping to
204
<dl><dt>Returns: <a href="openid.server.server.OpenIDRequest-class.html"
205
class="link">OpenIDRequest</a></dt></dl>
206
<dl><dt>Raises:</dt></dl>
207
<ul class="nomargin">
208
<li><code><strong class='fraise'><a href="openid.server.server.ProtocolError-class.html">ProtocolError</a></strong></code> - When the query does not seem to be a valid OpenID request.</li>
139
<dl><dt><b>Parameters:</b></dt>
140
<dd><code><b>query</b></code> -
141
The query parameters as a dictionary with each key mapping to
143
<br /><i>
147
<dl><dt><b>Returns:</b></dt>
149
<a href="openid.server.server.OpenIDRequest-class.html"
150
class="link"><code>OpenIDRequest</code></a>
153
<dl><dt><b>Raises:</b></dt>
154
<dd><code><b>ProtocolError</b></code> -
155
When the query does not seem to be a valid OpenID request.
211
158
</td></tr></table>
213
160
<a name="defaultDecoder"></a>
215
<table class="details" border="1" cellpadding="3"
216
cellspacing="0" width="100%" bgcolor="white">
218
<table width="100%" cellpadding="0" cellspacing="0" border="0">
219
<tr valign="top"><td>
220
<h3 class="epydoc"><span class="sig"><span class="sig-name">defaultDecoder</span>(<span class="sig-arg">self</span>,
221
<span class="sig-arg">query</span>)</span>
161
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
162
<h3><span class="sig"><span class="sig-name">defaultDecoder</span>(<span class=sig-arg>self</span>,
163
<span class=sig-arg>message</span>,
164
<span class=sig-arg>server</span>)</span>
223
</td><td align="right" valign="top"
224
><span class="codelink"><a href="openid.server.server-pysrc.html#Decoder.defaultDecoder">source code</a></span>
228
<br />Called to decode queries when no handler for that mode is found.
166
Called to decode queries when no handler for that mode is found.
229
167
<dl><dt></dt><dd>
230
<dl><dt>Raises:</dt></dl>
231
<ul class="nomargin">
232
<li><code><strong class='fraise'><a href="openid.server.server.ProtocolError-class.html">ProtocolError</a></strong></code> - This implementation always raises <a
168
<dl><dt><b>Raises:</b></dt>
169
<dd><code><b>ProtocolError</b></code> -
170
This implementation always raises <a
233
171
href="openid.server.server.ProtocolError-class.html"
234
class="link">ProtocolError</a>.</li>
172
class="link"><code>ProtocolError</code></a>.
237
175
</td></tr></table>
240
<!-- ==================== NAVIGATION BAR ==================== -->
241
<table class="navbar" border="0" width="100%" cellpadding="0"
242
bgcolor="#a0c0ff" cellspacing="0">
245
<th> <a
246
href="openid-module.html">Home</a> </th>
249
<th> <a
250
href="module-tree.html">Trees</a> </th>
253
<th> <a
254
href="identifier-index.html">Indices</a> </th>
257
<th> <a
258
href="help.html">Help</a> </th>
260
<!-- Project homepage -->
261
<th class="navbar" align="right" width="100%">
262
<table border="0" cellpadding="0" cellspacing="0">
263
<tr><th class="navbar" align="center"
264
><a class="navbar" target="_top" href="http://www.openidenabled.com/">Python-OpenID</a></th>
179
<!-- =========== START OF NAVBAR =========== -->
180
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
182
<th class="navbar"> <a class="navbar" href="openid-module.html">Home</a> </th>
183
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
184
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
185
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </th>
186
<th class="navbar" align="right" width="100%">
187
<table border="0" cellpadding="0" cellspacing="0">
188
<tr><th class="navbar" align="center">
190
<a class="navbar" target="_top" href="http://www.openidenabled.com/">Python-OpenID</a>
191
</p></th></tr></table>
268
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
196
<table border="0" cellpadding="0" cellspacing="0" width="100%">
270
<td align="left" class="footer">Generated by Epydoc
271
3.0alpha3 on Fri Dec 8 13:26:20 2006</td>
272
<td align="right" class="footer">
273
<a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
198
<td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Sep 10 13:00:13 2007</font></td>
199
<td align="right"><a href="http://epydoc.sourceforge.net"
200
><font size="-2">http://epydoc.sf.net</font></a></td>
278
<script type="text/javascript">
280
// Private objects are initially displayed (because if
281
// javascript is turned off then we want them to be
282
// visible); but by default, we want to hide them. So hide
283
// them unless we have a cookie that says to show them.