gpt4 book ai didi

http - 只允许 Nancy 在 accept header 为 html 时返回 json 或 Xml 和 406

转载 作者:可可西里 更新时间:2023-11-01 16:33:17 27 4
gpt4 key购买 nike

我正在编写 Nancy 端点,我想做一些我认为应该非常简单的事情。我想支持返回 json 或 xml 中的内容,但是当请求 html 或任何其他类型时返回 406 不支持。我可以很容易地强制只使用 XML 或 JSON,我想我可以做到并且如果(接受是 html)返回 406,但我假设在内容协商支持中对此有一些支持。

任何人都可以阐明吗?

最佳答案

实现您自己的 IResponseProcessor,Nancy 将使用它并连接到引擎中。

public sealed class NoJsonOrXmlProcessor : IResponseProcessor
{
public ProcessorMatch CanProcess(MediaRange requestedMediaRange, dynamic model, NancyContext context)
{
if (requestedMediaRange.Matches("application/json") || requestedMediaRange.Matches("aaplication/xml"))
{
//pass on, so the real processors can handle
return new ProcessorMatch{ModelResult = MatchResult.NoMatch, RequestedContentTypeResult = MatchResult.NoMatch};
}
return new ProcessorMatch{ModelResult = MatchResult.ExactMatch, RequestedContentTypeResult = MatchResult.ExactMatch};
}

public Response Process(MediaRange requestedMediaRange, dynamic model, NancyContext context)
{
return new Response{StatusCode = HttpStatusCode.NotAcceptable};
}

public IEnumerable<Tuple<string, MediaRange>> ExtensionMappings { get; private set; }
}

关于http - 只允许 Nancy 在 accept header 为 html 时返回 json 或 Xml 和 406,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29411980/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com