class OpenID::Server::Encoder
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.
Public Instance Methods
encode(response)
click to toggle source
Encode a response to a WebResponse.
Raises EncodingError when I can't figure out how to encode this message.
# 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