/// <summary> /// Create a new eMIP roaming client for CPOs. /// </summary> /// <param name="CPOClient">A CPO client.</param> /// <param name="CPOServer">A CPO server.</param> public CPORoaming(CPOClient CPOClient, CPOServer CPOServer) { this.CPOClient = CPOClient; this.CPOServer = CPOServer; // Link HTTP events... CPOServer.RequestLog += (HTTPProcessor, ServerTimestamp, Request) => RequestLog.WhenAll(HTTPProcessor, ServerTimestamp, Request); CPOServer.ResponseLog += (HTTPProcessor, ServerTimestamp, Request, Response) => ResponseLog.WhenAll(HTTPProcessor, ServerTimestamp, Request, Response); CPOServer.ErrorLog += (HTTPProcessor, ServerTimestamp, Request, Response, Error, LastException) => ErrorLog.WhenAll(HTTPProcessor, ServerTimestamp, Request, Response, Error, LastException); }
/// <summary> /// Create a new eMIP CPO server logger using the default logging delegates. /// </summary> /// <param name="CPOServer">A eMIP CPO server.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public CPOServerLogger(CPOServer CPOServer, String LoggingPath, String Context = DefaultContext, LogfileCreatorDelegate LogfileCreator = null) : this(CPOServer, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, null, null, null, null, LogfileCreator : LogfileCreator) { }
public void Shutdown(String Message = null, Boolean Wait = true) { CPOServer.Shutdown(Message, Wait); }
public void Start() { CPOServer.Start(); }
/// <summary> /// Create a new eMIP CPO server logger using the given logging delegates. /// </summary> /// <param name="CPOServer">A eMIP CPO server.</param> /// <param name="LoggingPath">The logging path.</param> /// <param name="Context">A context of this API.</param> /// /// <param name="LogHTTPRequest_toConsole">A delegate to log incoming HTTP requests to console.</param> /// <param name="LogHTTPResponse_toConsole">A delegate to log HTTP requests/responses to console.</param> /// <param name="LogHTTPRequest_toDisc">A delegate to log incoming HTTP requests to disc.</param> /// <param name="LogHTTPResponse_toDisc">A delegate to log HTTP requests/responses to disc.</param> /// /// <param name="LogHTTPRequest_toNetwork">A delegate to log incoming HTTP requests to a network target.</param> /// <param name="LogHTTPResponse_toNetwork">A delegate to log HTTP requests/responses to a network target.</param> /// <param name="LogHTTPRequest_toHTTPSSE">A delegate to log incoming HTTP requests to a HTTP server sent events source.</param> /// <param name="LogHTTPResponse_toHTTPSSE">A delegate to log HTTP requests/responses to a HTTP server sent events source.</param> /// /// <param name="LogHTTPError_toConsole">A delegate to log HTTP errors to console.</param> /// <param name="LogHTTPError_toDisc">A delegate to log HTTP errors to disc.</param> /// <param name="LogHTTPError_toNetwork">A delegate to log HTTP errors to a network target.</param> /// <param name="LogHTTPError_toHTTPSSE">A delegate to log HTTP errors to a HTTP server sent events source.</param> /// /// <param name="LogfileCreator">A delegate to create a log file from the given context and log file name.</param> public CPOServerLogger(CPOServer CPOServer, String LoggingPath, String Context, HTTPRequestLoggerDelegate LogHTTPRequest_toConsole, HTTPResponseLoggerDelegate LogHTTPResponse_toConsole, HTTPRequestLoggerDelegate LogHTTPRequest_toDisc, HTTPResponseLoggerDelegate LogHTTPResponse_toDisc, HTTPRequestLoggerDelegate LogHTTPRequest_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPResponse_toNetwork = null, HTTPRequestLoggerDelegate LogHTTPRequest_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPResponse_toHTTPSSE = null, HTTPResponseLoggerDelegate LogHTTPError_toConsole = null, HTTPResponseLoggerDelegate LogHTTPError_toDisc = null, HTTPResponseLoggerDelegate LogHTTPError_toNetwork = null, HTTPResponseLoggerDelegate LogHTTPError_toHTTPSSE = null, LogfileCreatorDelegate LogfileCreator = null) : base(CPOServer.SOAPServer.HTTPServer, LoggingPath, Context.IsNotNullOrEmpty() ? Context : DefaultContext, LogHTTPRequest_toConsole, LogHTTPResponse_toConsole, LogHTTPRequest_toDisc, LogHTTPResponse_toDisc, LogHTTPRequest_toNetwork, LogHTTPResponse_toNetwork, LogHTTPRequest_toHTTPSSE, LogHTTPResponse_toHTTPSSE, LogHTTPError_toConsole, LogHTTPError_toDisc, LogHTTPError_toNetwork, LogHTTPError_toHTTPSSE, LogfileCreator) { this.CPOServer = CPOServer ?? throw new ArgumentNullException(nameof(CPOServer), "The given CPO server must not be null!"); #region Register SetServiceAuthorisation log events RegisterEvent("SetServiceAuthorisationRequest", handler => CPOServer.OnSetServiceAuthorisationSOAPRequest += handler, handler => CPOServer.OnSetServiceAuthorisationSOAPRequest -= handler, "SetServiceAuthorisation", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetServiceAuthorisationResponse", handler => CPOServer.OnSetServiceAuthorisationSOAPResponse += handler, handler => CPOServer.OnSetServiceAuthorisationSOAPResponse -= handler, "SetServiceAuthorisation", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion #region Register SetSessionAction log events RegisterEvent("SetSessionActionRequest", handler => CPOServer.OnSetSessionActionSOAPRequest += handler, handler => CPOServer.OnSetSessionActionSOAPRequest -= handler, "SetSessionAction", "Request", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); RegisterEvent("SetSessionActionResponse", handler => CPOServer.OnSetSessionActionSOAPResponse += handler, handler => CPOServer.OnSetSessionActionSOAPResponse -= handler, "SetSessionAction", "Response", "All"). RegisterDefaultConsoleLogTarget(this). RegisterDefaultDiscLogTarget(this); #endregion }