/// <summary> /// Parameter 정보를 파싱해서, 원하는 결과를 만듭니다. /// </summary> /// <param name="context"></param> private void ParseRequestParams(HttpContext context) { var request = context.Request; // var _encoding = context.Response.ContentEncoding; var setName = request["S"].AsText(); var fileName = request["F"].AsText(); var version = request["V"].AsText("1.0"); _contentType = request["T"].AsText(FileTool.DEFAULT_MIME_TYPE); _cacheDuration = TimeSpan.FromDays(request["Ex"].AsInt(30)); // 유일한 캐시키가 만들어집니다^^ _cacheKey = GetCacheKey(setName, fileName, version); if (IsDebugEnabled) { log.Debug("요청정보. S=[{0}], F=[{1}], C=[{2}], V=[{3}], _cacheKey=[{4}]", setName, fileName, _contentType, version, _cacheKey); } // NOTE: Handler를 재사용하는 경우, 꼭 초기화를 시켜주어야 합니다. // _filenames.Clear(); // 요청 파일 정보를 파싱해서 넣습니다. if (setName.IsNotWhiteSpace() && ConfigTool.HasAppSettings(setName)) { var setFiles = ConfigTool.GetAppSettings(setName, string.Empty); if (setFiles.IsNotWhiteSpace()) { var filenames = setFiles.Split(new[] { FileDelimiter }, StringSplitOptions.RemoveEmptyEntries); filenames.RunEach(n => _filenames.Add(n)); } } if (fileName.IsNotWhiteSpace()) { var filenames = fileName.Split(new[] { FileDelimiter }, StringSplitOptions.RemoveEmptyEntries); filenames.RunEach(n => _filenames.Add(n)); } if (IsDebugEnabled) { log.Debug("요청파일=[{0}]", FileDelimiter.ToString().Join(_filenames.ToArray())); } }