174 references to ConnectionOptions
Microsoft.AspNetCore.Server.Kestrel.Core (19)
Internal\Http\Http1MessageBody.cs (4)
135
var
connectionOptions = HttpHeaders.ParseConnection(headers);
137
upgrade = (connectionOptions &
ConnectionOptions
.Upgrade) != 0;
138
keepAlive = keepAlive || (connectionOptions &
ConnectionOptions
.KeepAlive) != 0;
139
keepAlive = keepAlive && (connectionOptions &
ConnectionOptions
.Close) == 0;
Internal\Http\HttpHeaders.cs (14)
318
public static
ConnectionOptions
ParseConnection(HttpHeaders headers)
335
return
ConnectionOptions
.None;
338
var
connectionOptions =
ConnectionOptions
.None;
348
return
ConnectionOptions
.KeepAlive;
384
var
potentialConnectionOptions =
ConnectionOptions
.None;
401
potentialConnectionOptions =
ConnectionOptions
.KeepAlive;
416
potentialConnectionOptions =
ConnectionOptions
.Upgrade;
425
potentialConnectionOptions =
ConnectionOptions
.Close;
450
potentialConnectionOptions =
ConnectionOptions
.None;
482
if (connectionOptions ==
ConnectionOptions
.Upgrade)
486
else if (connectionOptions ==
ConnectionOptions
.KeepAlive)
490
else if (connectionOptions ==
ConnectionOptions
.Close)
Internal\Http\HttpProtocol.cs (1)
1153
(HttpHeaders.ParseConnection(responseHeaders) &
ConnectionOptions
.KeepAlive) == 0)
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (155)
HttpHeadersTests.cs (155)
17
[InlineData("", (int)(
ConnectionOptions
.None))]
18
[InlineData(",", (int)(
ConnectionOptions
.None))]
19
[InlineData(" ,", (int)(
ConnectionOptions
.None))]
20
[InlineData(" , ", (int)(
ConnectionOptions
.None))]
21
[InlineData(",,", (int)(
ConnectionOptions
.None))]
22
[InlineData(" ,,", (int)(
ConnectionOptions
.None))]
23
[InlineData(",, ", (int)(
ConnectionOptions
.None))]
24
[InlineData(" , ,", (int)(
ConnectionOptions
.None))]
25
[InlineData(" , , ", (int)(
ConnectionOptions
.None))]
26
[InlineData("KEEP-ALIVE", (int)(
ConnectionOptions
.KeepAlive))]
27
[InlineData("keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
28
[InlineData("keep-alive, upgrade", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
29
[InlineData("keep-alive,upgrade", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
30
[InlineData("upgrade, keep-alive", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
31
[InlineData("upgrade,keep-alive", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
32
[InlineData("upgrade,,keep-alive", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
33
[InlineData("keep-alive,", (int)(
ConnectionOptions
.KeepAlive))]
34
[InlineData("keep-alive,,", (int)(
ConnectionOptions
.KeepAlive))]
35
[InlineData("keep-alive, ", (int)(
ConnectionOptions
.KeepAlive))]
36
[InlineData("keep-alive, ,", (int)(
ConnectionOptions
.KeepAlive))]
37
[InlineData("keep-alive, , ", (int)(
ConnectionOptions
.KeepAlive))]
38
[InlineData("keep-alive ,", (int)(
ConnectionOptions
.KeepAlive))]
39
[InlineData(",keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
40
[InlineData(", keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
41
[InlineData(",,keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
42
[InlineData(", ,keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
43
[InlineData(",, keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
44
[InlineData(", , keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
45
[InlineData("UPGRADE", (int)(
ConnectionOptions
.Upgrade))]
46
[InlineData("upgrade", (int)(
ConnectionOptions
.Upgrade))]
47
[InlineData("upgrade,", (int)(
ConnectionOptions
.Upgrade))]
48
[InlineData("upgrade,,", (int)(
ConnectionOptions
.Upgrade))]
49
[InlineData("upgrade, ", (int)(
ConnectionOptions
.Upgrade))]
50
[InlineData("upgrade, ,", (int)(
ConnectionOptions
.Upgrade))]
51
[InlineData("upgrade, , ", (int)(
ConnectionOptions
.Upgrade))]
52
[InlineData("upgrade ,", (int)(
ConnectionOptions
.Upgrade))]
53
[InlineData(",upgrade", (int)(
ConnectionOptions
.Upgrade))]
54
[InlineData(", upgrade", (int)(
ConnectionOptions
.Upgrade))]
55
[InlineData(",,upgrade", (int)(
ConnectionOptions
.Upgrade))]
56
[InlineData(", ,upgrade", (int)(
ConnectionOptions
.Upgrade))]
57
[InlineData(",, upgrade", (int)(
ConnectionOptions
.Upgrade))]
58
[InlineData(", , upgrade", (int)(
ConnectionOptions
.Upgrade))]
59
[InlineData("close,", (int)(
ConnectionOptions
.Close))]
60
[InlineData("close,,", (int)(
ConnectionOptions
.Close))]
61
[InlineData("close, ", (int)(
ConnectionOptions
.Close))]
62
[InlineData("close, ,", (int)(
ConnectionOptions
.Close))]
63
[InlineData("close, , ", (int)(
ConnectionOptions
.Close))]
64
[InlineData("close ,", (int)(
ConnectionOptions
.Close))]
65
[InlineData(",close", (int)(
ConnectionOptions
.Close))]
66
[InlineData(", close", (int)(
ConnectionOptions
.Close))]
67
[InlineData(",,close", (int)(
ConnectionOptions
.Close))]
68
[InlineData(", ,close", (int)(
ConnectionOptions
.Close))]
69
[InlineData(",, close", (int)(
ConnectionOptions
.Close))]
70
[InlineData(", , close", (int)(
ConnectionOptions
.Close))]
71
[InlineData("kupgrade", (int)(
ConnectionOptions
.None))]
72
[InlineData("keupgrade", (int)(
ConnectionOptions
.None))]
73
[InlineData("ukeep-alive", (int)(
ConnectionOptions
.None))]
74
[InlineData("upkeep-alive", (int)(
ConnectionOptions
.None))]
75
[InlineData("k,upgrade", (int)(
ConnectionOptions
.Upgrade))]
76
[InlineData("u,keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
77
[InlineData("ke,upgrade", (int)(
ConnectionOptions
.Upgrade))]
78
[InlineData("up,keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
79
[InlineData("CLOSE", (int)(
ConnectionOptions
.Close))]
80
[InlineData("close", (int)(
ConnectionOptions
.Close))]
81
[InlineData("upgrade,close", (int)(
ConnectionOptions
.Close |
ConnectionOptions
.Upgrade))]
82
[InlineData("close,upgrade", (int)(
ConnectionOptions
.Close |
ConnectionOptions
.Upgrade))]
83
[InlineData("keep-alive2", (int)(
ConnectionOptions
.None))]
84
[InlineData("keep-alive2 ", (int)(
ConnectionOptions
.None))]
85
[InlineData("keep-alive2 ,", (int)(
ConnectionOptions
.None))]
86
[InlineData("keep-alive2,", (int)(
ConnectionOptions
.None))]
87
[InlineData("upgrade2", (int)(
ConnectionOptions
.None))]
88
[InlineData("upgrade2 ", (int)(
ConnectionOptions
.None))]
89
[InlineData("upgrade2 ,", (int)(
ConnectionOptions
.None))]
90
[InlineData("upgrade2,", (int)(
ConnectionOptions
.None))]
91
[InlineData("close2", (int)(
ConnectionOptions
.None))]
92
[InlineData("close2 ", (int)(
ConnectionOptions
.None))]
93
[InlineData("close2 ,", (int)(
ConnectionOptions
.None))]
94
[InlineData("close2,", (int)(
ConnectionOptions
.None))]
95
[InlineData("close close", (int)(
ConnectionOptions
.None))]
96
[InlineData("close dclose", (int)(
ConnectionOptions
.None))]
97
[InlineData("keep-alivekeep-alive", (int)(
ConnectionOptions
.None))]
98
[InlineData("keep-aliveupgrade", (int)(
ConnectionOptions
.None))]
99
[InlineData("upgradeupgrade", (int)(
ConnectionOptions
.None))]
100
[InlineData("upgradekeep-alive", (int)(
ConnectionOptions
.None))]
101
[InlineData("closeclose", (int)(
ConnectionOptions
.None))]
102
[InlineData("closeupgrade", (int)(
ConnectionOptions
.None))]
103
[InlineData("upgradeclose", (int)(
ConnectionOptions
.None))]
104
[InlineData("keep-alive 2", (int)(
ConnectionOptions
.None))]
105
[InlineData("upgrade 2", (int)(
ConnectionOptions
.None))]
106
[InlineData("keep-alive 2, close", (int)(
ConnectionOptions
.Close))]
107
[InlineData("upgrade 2, close", (int)(
ConnectionOptions
.Close))]
108
[InlineData("close, keep-alive 2", (int)(
ConnectionOptions
.Close))]
109
[InlineData("close, upgrade 2", (int)(
ConnectionOptions
.Close))]
110
[InlineData("close 2, upgrade", (int)(
ConnectionOptions
.Upgrade))]
111
[InlineData("upgrade, close 2", (int)(
ConnectionOptions
.Upgrade))]
112
[InlineData("k2ep-alive", (int)(
ConnectionOptions
.None))]
113
[InlineData("ke2p-alive", (int)(
ConnectionOptions
.None))]
114
[InlineData("u2grade", (int)(
ConnectionOptions
.None))]
115
[InlineData("up2rade", (int)(
ConnectionOptions
.None))]
116
[InlineData("c2ose", (int)(
ConnectionOptions
.None))]
117
[InlineData("cl2se", (int)(
ConnectionOptions
.None))]
118
[InlineData("k2ep-alive,", (int)(
ConnectionOptions
.None))]
119
[InlineData("ke2p-alive,", (int)(
ConnectionOptions
.None))]
120
[InlineData("u2grade,", (int)(
ConnectionOptions
.None))]
121
[InlineData("up2rade,", (int)(
ConnectionOptions
.None))]
122
[InlineData("c2ose,", (int)(
ConnectionOptions
.None))]
123
[InlineData("cl2se,", (int)(
ConnectionOptions
.None))]
124
[InlineData("k2ep-alive ", (int)(
ConnectionOptions
.None))]
125
[InlineData("ke2p-alive ", (int)(
ConnectionOptions
.None))]
126
[InlineData("u2grade ", (int)(
ConnectionOptions
.None))]
127
[InlineData("up2rade ", (int)(
ConnectionOptions
.None))]
128
[InlineData("c2ose ", (int)(
ConnectionOptions
.None))]
129
[InlineData("cl2se ", (int)(
ConnectionOptions
.None))]
130
[InlineData("k2ep-alive ,", (int)(
ConnectionOptions
.None))]
131
[InlineData("ke2p-alive ,", (int)(
ConnectionOptions
.None))]
132
[InlineData("u2grade ,", (int)(
ConnectionOptions
.None))]
133
[InlineData("up2rade ,", (int)(
ConnectionOptions
.None))]
134
[InlineData("c2ose ,", (int)(
ConnectionOptions
.None))]
135
[InlineData("cl2se ,", (int)(
ConnectionOptions
.None))]
138
var
expectedConnectionOptions = (
ConnectionOptions
)intExpectedConnectionOptions;
141
var
connectionOptions = HttpHeaders.ParseConnection(requestHeaders);
146
[InlineData("keep-alive", "upgrade", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
147
[InlineData("upgrade", "keep-alive", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
148
[InlineData("keep-alive", "", (int)(
ConnectionOptions
.KeepAlive))]
149
[InlineData("", "keep-alive", (int)(
ConnectionOptions
.KeepAlive))]
150
[InlineData("upgrade", "", (int)(
ConnectionOptions
.Upgrade))]
151
[InlineData("", "upgrade", (int)(
ConnectionOptions
.Upgrade))]
152
[InlineData("keep-alive, upgrade", "", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
153
[InlineData("upgrade, keep-alive", "", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
154
[InlineData("", "keep-alive, upgrade", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
155
[InlineData("", "upgrade, keep-alive", (int)(
ConnectionOptions
.KeepAlive |
ConnectionOptions
.Upgrade))]
156
[InlineData("", "", (int)(
ConnectionOptions
.None))]
157
[InlineData("close", "", (int)(
ConnectionOptions
.Close))]
158
[InlineData("", "close", (int)(
ConnectionOptions
.Close))]
159
[InlineData("close", "upgrade", (int)(
ConnectionOptions
.Close |
ConnectionOptions
.Upgrade))]
160
[InlineData("upgrade", "close", (int)(
ConnectionOptions
.Close |
ConnectionOptions
.Upgrade))]
163
var
expectedConnectionOptions = (
ConnectionOptions
)intExpectedConnectionOptions;
167
var
connectionOptions = HttpHeaders.ParseConnection(requestHeaders);