@@ -11,6 +11,7 @@ import {
11
11
getQuery ,
12
12
getRequestURL ,
13
13
readFormData ,
14
+ getRequestIP ,
14
15
} from "../src" ;
15
16
16
17
describe ( "" , ( ) => {
@@ -144,6 +145,48 @@ describe("", () => {
144
145
}
145
146
} ) ;
146
147
148
+ describe ( "getRequestIP" , ( ) => {
149
+ it ( "x-forwarded-for" , async ( ) => {
150
+ app . use (
151
+ "/" ,
152
+ eventHandler ( ( event ) => {
153
+ return getRequestIP ( event , {
154
+ xForwardedFor : true ,
155
+ } ) ;
156
+ } ) ,
157
+ ) ;
158
+ const req = request . get ( "/" ) ;
159
+ req . set ( "x-forwarded-for" , "127.0.0.1" ) ;
160
+ expect ( ( await req ) . text ) . toBe ( "127.0.0.1" ) ;
161
+ } ) ;
162
+ it ( "ports" , async ( ) => {
163
+ app . use (
164
+ "/" ,
165
+ eventHandler ( ( event ) => {
166
+ return getRequestIP ( event , {
167
+ xForwardedFor : true ,
168
+ } ) ;
169
+ } ) ,
170
+ ) ;
171
+ const req = request . get ( "/" ) ;
172
+ req . set ( "x-forwarded-for" , "127.0.0.1:1234" ) ;
173
+ expect ( ( await req ) . text ) . toBe ( "127.0.0.1:1234" ) ;
174
+ } ) ;
175
+ it ( "ipv6" , async ( ) => {
176
+ app . use (
177
+ "/" ,
178
+ eventHandler ( ( event ) => {
179
+ return getRequestIP ( event , {
180
+ xForwardedFor : true ,
181
+ } ) ;
182
+ } ) ,
183
+ ) ;
184
+ const req = request . get ( "/" ) ;
185
+ req . set ( "x-forwarded-for" , "2001:0db8:85a3:0000:0000:8a2e:0370:7334" ) ;
186
+ expect ( ( await req ) . text ) . toBe ( "2001:0db8:85a3:0000:0000:8a2e:0370:7334" ) ;
187
+ } ) ;
188
+ } ) ;
189
+
147
190
describe ( "assertMethod" , ( ) => {
148
191
it ( "only allow head and post" , async ( ) => {
149
192
app . use (
0 commit comments