FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
node/test/simple/test-http-proxy.js at pointer_bindings · sgithens/node · GitHub
sgithens
/
node
Public
forked from
nodejs/node-v0.x-archive
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
node
/
test
/
simple
/
test-http-proxy.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
88 lines (70 loc) · 2.39 KB
Breadcrumbs
node
/
test
/
simple
/
test-http-proxy.js
Copy path
File metadata and controls
88 lines (70 loc) · 2.39 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
var
common
=
require
(
'../common'
)
;
var
assert
=
require
(
'assert'
)
;
var
http
=
require
(
'http'
)
;
var
url
=
require
(
'url'
)
;
var
PROXY_PORT
=
common
.
PORT
;
var
BACKEND_PORT
=
common
.
PORT
+
1
;
var
cookies
=
[
'session_token=; path=/; expires=Sun, 15-Sep-2030 13:48:52 GMT'
,
'prefers_open_id=; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT'
]
;
var
headers
=
{
'content-type'
:
'text/plain'
,
'set-cookie'
:
cookies
,
'hello'
:
'world'
}
;
var
backend
=
http
.
createServer
(
function
(
req
,
res
)
{
common
.
debug
(
'backend request'
)
;
res
.
writeHead
(
200
,
headers
)
;
res
.
write
(
'hello world\n'
)
;
res
.
end
(
)
;
}
)
;
var
proxy_client
=
http
.
createClient
(
BACKEND_PORT
)
;
var
proxy
=
http
.
createServer
(
function
(
req
,
res
)
{
common
.
debug
(
'proxy req headers: '
+
JSON
.
stringify
(
req
.
headers
)
)
;
var
proxy_req
=
proxy_client
.
request
(
url
.
parse
(
req
.
url
)
.
pathname
)
;
proxy_req
.
end
(
)
;
proxy_req
.
addListener
(
'response'
,
function
(
proxy_res
)
{
common
.
debug
(
'proxy res headers: '
+
JSON
.
stringify
(
proxy_res
.
headers
)
)
;
assert
.
equal
(
'world'
,
proxy_res
.
headers
[
'hello'
]
)
;
assert
.
equal
(
'text/plain'
,
proxy_res
.
headers
[
'content-type'
]
)
;
assert
.
deepEqual
(
cookies
,
proxy_res
.
headers
[
'set-cookie'
]
)
;
res
.
writeHead
(
proxy_res
.
statusCode
,
proxy_res
.
headers
)
;
proxy_res
.
addListener
(
'data'
,
function
(
chunk
)
{
res
.
write
(
chunk
)
;
}
)
;
proxy_res
.
addListener
(
'end'
,
function
(
)
{
res
.
end
(
)
;
common
.
debug
(
'proxy res'
)
;
}
)
;
}
)
;
}
)
;
var
body
=
''
;
var
nlistening
=
0
;
function
startReq
(
)
{
nlistening
++
;
if
(
nlistening
<
2
)
return
;
var
client
=
http
.
createClient
(
PROXY_PORT
)
;
var
req
=
client
.
request
(
'/test'
)
;
common
.
debug
(
'client req'
)
;
req
.
addListener
(
'response'
,
function
(
res
)
{
common
.
debug
(
'got res'
)
;
assert
.
equal
(
200
,
res
.
statusCode
)
;
assert
.
equal
(
'world'
,
res
.
headers
[
'hello'
]
)
;
assert
.
equal
(
'text/plain'
,
res
.
headers
[
'content-type'
]
)
;
assert
.
deepEqual
(
cookies
,
res
.
headers
[
'set-cookie'
]
)
;
res
.
setEncoding
(
'utf8'
)
;
res
.
addListener
(
'data'
,
function
(
chunk
)
{
body
+=
chunk
;
}
)
;
res
.
addListener
(
'end'
,
function
(
)
{
proxy
.
close
(
)
;
backend
.
close
(
)
;
common
.
debug
(
'closed both'
)
;
}
)
;
}
)
;
req
.
end
(
)
;
}
common
.
debug
(
'listen proxy'
)
;
proxy
.
listen
(
PROXY_PORT
,
startReq
)
;
common
.
debug
(
'listen backend'
)
;
backend
.
listen
(
BACKEND_PORT
,
startReq
)
;
process
.
addListener
(
'exit'
,
function
(
)
{
assert
.
equal
(
body
,
'hello world\n'
)
;
}
)
;
Back
|
FazBrowse Home
|
New Git URL