using System;
using System.Net.Http;
namespace FastGithub.Http
{
///
/// 请求上下文扩展
///
static class RequestContextExtensions
{
private static readonly HttpRequestOptionsKey key = new(nameof(RequestContext));
///
/// 设置RequestContext
///
///
///
public static void SetRequestContext(this HttpRequestMessage httpRequestMessage, RequestContext requestContext)
{
httpRequestMessage.Options.Set(key, requestContext);
}
///
/// 获取RequestContext
///
///
///
public static RequestContext GetRequestContext(this HttpRequestMessage httpRequestMessage)
{
return httpRequestMessage.Options.TryGetValue(key, out var requestContext)
? requestContext
: throw new InvalidOperationException($"请先调用{nameof(SetRequestContext)}");
}
}
}