encode (OpenID::Server::SigningEncoder)

    # File lib/openid/server.rb, line 1172
          def encode(response)
            # the is_a? is a bit of a kludge... it means there isn't
            # really an adapter to make the interfaces quite match.
            if !response.is_a?(Exception) and response.needs_signing()
              if !@signatory
                raise ArgumentError.new(
                  sprintf("Must have a store to sign this request: %s",
                          response), response)
              end

              if response.fields.has_key?(OPENID_NS, 'sig')
                raise AlreadySigned.new(response)
              end

              response = @signatory.sign(response)
            end

            return super(response)
          end