/
BasicHttpRequest.cs
50 lines (40 loc) · 1.39 KB
/
BasicHttpRequest.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Collections.Generic;
using System.Net;
using ServiceStack.Web;
namespace ServiceStack.Host;
public class BasicHttpRequest : BasicRequest, IHttpRequest
{
public BasicHttpRequest() : this(null) {}
public BasicHttpRequest(object requestDto,
RequestAttributes requestAttributes =
RequestAttributes.None | RequestAttributes.LocalSubnet | RequestAttributes.Http)
: base(requestDto, requestAttributes)
{
Response = new BasicHttpResponse(this);
}
public IHttpResponse HttpResponse { get; set; }
public string HttpMethod { get; set; }
public string XForwardedFor { get; set; }
public int? XForwardedPort { get; set; }
public string XForwardedProtocol { get; set; }
public string XRealIp { get; set; }
public string Accept { get; set; }
}
public class BasicHttpResponse : BasicResponse, IHttpResponse
{
public BasicHttpResponse(BasicRequest requestContext) : base(requestContext)
{
Cookies = new Cookies(this);
}
public List<Cookie> CookieCollection { get; } = new();
public ICookies Cookies { get; }
public void SetCookie(Cookie cookie)
{
if (!HostContext.AppHost.SetCookieFilter(Request, cookie))
return;
CookieCollection.RemoveAll(x => x.Name == cookie.Name);
CookieCollection.Add(cookie);
}
public void ClearCookies() {}
}