//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OpenId.Provider { using System; using DotNetOpenAuth.Messaging; /// /// An interface that a Provider site may implement in order to better /// control error reporting. /// public interface IErrorReporting { /// /// Gets the message that can be sent in an error response /// with information on who the remote party can contact /// for help resolving the error. /// /// /// The contact address may take any form, as it is intended to be displayed to a person. /// string Contact { get; } /// /// Logs the details of an exception for later reference in diagnosing the problem. /// /// The exception that was generated from the error. /// /// A unique identifier for this particular error that the remote party can /// reference when contacting for help with this error. /// May be null. /// /// /// The implementation of this method should never throw an unhandled exception /// as that would preclude the ability to send the error response to the remote /// party. When this method is not implemented, it should return null rather /// than throwing . /// string LogError(ProtocolException exception); } }