Browse Source

Web:OPTIONS 方法直接返回,不再执行处理。

master
王厅 1 day ago
parent
commit
4792113f05
  1. 11
      Apewer/Web/ApiProcessor.cs
  2. 9
      Apewer/Web/ApiUtility.cs

11
Apewer/Web/ApiProcessor.cs

@ -124,6 +124,13 @@ namespace Apewer.Web
// 寻找入口。
void Invoke()
{
// OPTIONS
if (_context.Request.Method == HttpMethod.OPTIONS)
{
_context.Response.Model = new ApiTextModel("");
return;
}
// 路由
if (_context.Options.UseRoute)
{
@ -134,7 +141,6 @@ namespace Apewer.Web
{
_context.ApiAction = action;
Invoke(action);
_context.Response.Duration = Duration(_context.Beginning);
return;
}
}
@ -145,7 +151,6 @@ namespace Apewer.Web
var appName = _context.Request.Application;
var application = _context.Entries.GetApplication(appName);
Invoke(application);
_context.Response.Duration = Duration(_context.Beginning);
return;
}
@ -580,7 +585,7 @@ namespace Apewer.Web
}
// Content-Type 检查。
if (options.WithContentTypeOptions || options.Default != null)
if (options.WithContentTypeOptions)
{
merged.Add("X-Content-Type-Options", "nosniff");
}

9
Apewer/Web/ApiUtility.cs

@ -547,6 +547,15 @@ namespace Apewer.Web
Error(context.Response, text);
}
/// <summary>渲染为 JSON,并设置到 Response 的 Data 属性。</summary>
public static void SetCamelJsonToResponseData(ApiContext context, object result)
{
if (context == null) return;
if (context.Response == null) return;
if (result == null) return;
context.Response.Data = Json.From(result).Camel();
}
#endregion
#region ApiRequest

Loading…
Cancel
Save