public void InitializeWebService(HttpListenerContext _Context, string _MatchedPrefix, IBTracingServiceInterface _TracingService = null) { if (bInitialized) { return; } bInitialized = true; TracingService = _TracingService; var SplittedRawUrl = _Context.Request.RawUrl.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); var SplittedMatchedPrefix = _MatchedPrefix.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); if (SplittedRawUrl != null && SplittedMatchedPrefix != null && SplittedRawUrl.Length >= SplittedMatchedPrefix.Length) { for (int i = 1; i < SplittedMatchedPrefix.Length; i++) { if (SplittedMatchedPrefix[i] == "*") { RestfulUrlParameters[SplittedRawUrl[i - 1]] = SplittedRawUrl[i]; } } } var Params = BWebUtilities.AnalyzeURLParametersFromRawURL(_Context.Request.RawUrl); if (Params != null) { foreach (var Param in Params) { UrlParameters[Param.Item1] = Param.Item2; } } }
public bool WithTracingService() { /* * Tracing service initialization */ TracingService = new BTracingServiceGC(RequiredEnvironmentVariables["GOOGLE_CLOUD_PROJECT_ID"], ProgramID, (string Message) => { LoggingService.WriteLogs(BLoggingServiceMessageUtility.Single(EBLoggingServiceLogType.Critical, Message), ProgramID, "Initialization"); }); if (TracingService == null || !TracingService.HasInitializationSucceed()) { LoggingService.WriteLogs(BLoggingServiceMessageUtility.Single(EBLoggingServiceLogType.Critical, "Tracing service initialization has failed."), ProgramID, "Initialization"); return(false); } return(true); }
public bool WithTracingService() { /* * Tracing service initialization */ if (!RequiredEnvironmentVariables.ContainsKey("ZIPKIN_SERVER_IP") || !RequiredEnvironmentVariables.ContainsKey("ZIPKIN_SERVER_PORT")) { LoggingService.WriteLogs(BLoggingServiceMessageUtility.Single(EBLoggingServiceLogType.Critical, "ZIPKIN_SERVER_IP, ZIPKIN_SERVER_PORT parameters must be provided and valid."), ProgramID, "Initialization"); return(false); } var LoggingServiceLogger = new BLoggingServiceLoggerZipkin( LoggingService, PreLoggingServiceLogger, ProgramID); if (!int.TryParse(RequiredEnvironmentVariables["ZIPKIN_SERVER_PORT"], out int ZipkinServerPort)) { LoggingService.WriteLogs(BLoggingServiceMessageUtility.Single(EBLoggingServiceLogType.Critical, "Given zipkin server port is invalid."), ProgramID, "Initialization"); return(false); } TracingService = new BTracingServiceZipkin( LoggingServiceLogger, ProgramID, RequiredEnvironmentVariables["ZIPKIN_SERVER_IP"], ZipkinServerPort, (string Message) => { LoggingService.WriteLogs(BLoggingServiceMessageUtility.Single(EBLoggingServiceLogType.Critical, Message), ProgramID, "Initialization"); }); if (TracingService == null || !TracingService.HasInitializationSucceed()) { LoggingService.WriteLogs(BLoggingServiceMessageUtility.Single(EBLoggingServiceLogType.Critical, "Tracing service initialization has failed."), ProgramID, "Initialization"); return(false); } return(true); }
public BWebService(BWebPrefixStructure[] _PrefixesToListen, int _ServerPort = 8080, IBTracingServiceInterface _TracingService = null, string _OverrideServerNames = null) { if (_PrefixesToListen == null || _PrefixesToListen.Length == 0) { throw new ArgumentException("PrefixesToListen"); } if (_OverrideServerNames == null) { _OverrideServerNames = "http://*"; } ServerPort = _ServerPort; TracingService = _TracingService; if (_OverrideServerNames != null && _OverrideServerNames.Length > 0) { string[] _OverrideServerNameArray = _OverrideServerNames.Split(';'); if (_OverrideServerNameArray != null && _OverrideServerNameArray.Length > 0) { ServerNames.Clear(); foreach (var _OverrideServerName in _OverrideServerNameArray) { ServerNames.Add(_OverrideServerName); } } } foreach (string ServerName in ServerNames) { Listener.Prefixes.Add(ServerName + ":" + ServerPort + "/"); } if (Listener.Prefixes.Count == 0) { throw new ArgumentException("Invalid prefixes (Count 0)"); } PrefixesToListen = _PrefixesToListen; }