Browse Source

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

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

9
Apewer/Web/ApiUtility.cs

@ -547,6 +547,15 @@ namespace Apewer.Web
Error(context.Response, text); 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 #endregion
#region ApiRequest #region ApiRequest

Loading…
Cancel
Save