Class: OpenID::Server::Encoder
- Inherits:
-
Object
- Object
- OpenID::Server::Encoder
- Defined in:
- lib/openid/server.rb
Overview
I encode responses in to WebResponses.
If you don’t like WebResponses, you can do your own handling of OpenIDResponses with OpenIDResponse.whichEncoding, OpenIDResponse.encodeToURL, and OpenIDResponse.encodeToKVForm.
Direct Known Subclasses
Constant Summary collapse
- @@responseFactory =
WebResponse
Instance Method Summary collapse
-
#encode(response) ⇒ Object
Encode a response to a WebResponse.
Instance Method Details
#encode(response) ⇒ Object
Encode a response to a WebResponse.
Raises EncodingError when I can’t figure out how to encode this message.
1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 |
# File 'lib/openid/server.rb', line 1153 def encode(response) encode_as = response.which_encoding() if encode_as == ENCODE_KVFORM wr = @@responseFactory.new(HTTP_OK, nil, response.encode_to_kvform()) if response.is_a?(Exception) wr.code = HTTP_ERROR end elsif encode_as == ENCODE_URL location = response.encode_to_url() wr = @@responseFactory.new(HTTP_REDIRECT, {'location' => location}) elsif encode_as == ENCODE_HTML_FORM wr = @@responseFactory.new(HTTP_OK, nil, response.to_form_markup()) else # Can't encode this to a protocol message. You should # probably render it to HTML and show it to the user. raise EncodingError.new(response) end return wr end |