Beispiel #1
0
        public static async Task <ModuleResponseCode> RouteAsync(string Path, LanguageManager STR_LANG, WebHttpContextRaw ContextRaw)
        {
            string Version = Assembly.GetExecutingAssembly().GetName().Version.ToString();

            //Set HTTP Header to this
            ContextRaw.Response.SetHeader("X-Powered-By", $"HS Server Framework (Web)/{Version}");
            ContextRaw.Response.SetHeader("Server", $"HS Server (Web)/{Version}");

            MiddlewareData data = await Middleware.RouteAsync(new MiddlewareData(Path, STR_LANG, ContextRaw));

            ModuleResponseCode ResultCode = (ModuleResponseCode)data.StatusCode;

            if (!data.IsClose && ContextRaw.Response.IsWritable)
            {
                ResultCode = await Router.RouteAsync(data);
            }
            //MiddleWareData data_post = await MiddleWare_Post.RouteAsync(Path, Params, STR_LANG, ContextRaw);
            return(ResultCode);
        }
Beispiel #2
0
 /// <summary>
 /// 웹 모듈로 라우팅 중지 (비동기)
 /// </summary>
 /// <param name="StatusCode">HTTP 상태 코드</param>
 /// <param name="Message">출력 메세지</param>
 /// <param name="Abort">True 면 즉시 라우팅 중지 False 면 다른 미들웨어 까지만 실행후 웹 모듈로 라우팅 중지</param>
 public async Task CloseAsync(ModuleResponseCode StatusCode = ModuleResponseCode.Error, string Message = null, bool Abort = false)
 {
     await CloseAsync((float)StatusCode, Message, Abort);
 }
Beispiel #3
0
 /// <summary>
 /// 웹 모듈로 라우팅 중지 (비동기)
 /// </summary>
 /// <param name="StatusCode">HTTP 상태 코드</param>
 /// <param name="Data">데이터 (JSON 으로 출력됩니다)</param>
 /// <param name="Abort">True 면 즉시 라우팅 중지 False 면 다른 미들웨어 까지만 실행후 웹 모듈로 라우팅 중지</param>
 public async Task CloseAsync(ModuleResponseCode StatusCode = ModuleResponseCode.Error, object Data = null, bool Abort = false)
 {
     await CloseAsync((float)StatusCode, Data, Abort);
 }
Beispiel #4
0
 /// <summary>
 /// 웹 모듈로 라우팅 중지
 /// </summary>
 /// <param name="StatusCode">HTTP 상태 코드</param>
 /// <param name="Data">데이터 (JSON 으로 출력됩니다)</param>
 /// <param name="Abort">True 면 즉시 라우팅 중지 False 면 다른 미들웨어 까지만 실행후 웹 모듈로 라우팅 중지</param>
 public void Close(ModuleResponseCode StatusCode = ModuleResponseCode.Error, object Data = null, bool Abort = false)
 {
     CloseAsync(StatusCode, Data, Abort).Wait();
 }
Beispiel #5
0
 /// <summary>
 /// 웹 모듈로 라우팅 중지
 /// </summary>
 /// <param name="StatusCode">HTTP 상태 코드</param>
 /// <param name="Message">출력 메세지</param>
 /// <param name="Abort">True 면 즉시 라우팅 중지 False 면 다른 미들웨어 까지만 실행후 웹 모듈로 라우팅 중지</param>
 public void Close(ModuleResponseCode StatusCode = ModuleResponseCode.Error, string Message = null, bool Abort = false)
 {
     CloseAsync(StatusCode, Message, Abort).Wait();
 }