Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuy-portal-fe
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
周奇琪
9 years ago
Commit
9f2b152a20b835d4ed20109960f39272ecd3d356
1 parent
787ce395
灰度调整,删除gzip的http头
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
17 deletions
server/mid/grayroute.js
server/mid/grayroute.js
View file @
9f2b152
...
...
@@ -45,6 +45,7 @@ module.exports = function(proxyRoute) {
}
//删除提交内容长度,代理会改变长度
delete
options
.
headers
[
'content-length'
];
delete
options
.
headers
[
"accept-encoding"
];
//设置代理host
options
.
headers
[
'host'
]
=
config
.
url
.
replace
(
'http://'
,
''
);
if
(
!
req
.
session
.
gray
)
{
...
...
@@ -56,13 +57,14 @@ module.exports = function(proxyRoute) {
logger
.
log
(
'info'
,
'grayroute: request options: %j'
,
options
,{});
//发起代理请求
if
(
req
.
is
(
'html'
)
)
{
if
(
req
.
headers
[
'accept'
].
indexOf
(
'text/html'
)
>-
1
)
{
request
(
options
,
function
(
err
,
res
,
body
)
{
if
(
err
)
{
logger
.
log
(
'error'
,
'grayroute: request error:'
,
err
);
ress
.
status
(
500
).
send
(
''
);
}
else
{
setGrayCookie
(
req
,
res
);
var
ContentType
=
res
.
caseless
.
get
(
'Content-Type'
);
ress
.
append
(
'Content-Type'
,
ContentType
);
ress
.
status
(
res
.
statusCode
).
send
(
body
);
}
});
...
...
@@ -85,19 +87,4 @@ module.exports = function(proxyRoute) {
next
();
}
}
}
/**
* 灰度cookie设置
* @param {Object} req express request
* @param {Object} res request的响应
*/
function
setGrayCookie
(
req
,
res
)
{
//cookie透传到老系统
var
cookie
=
res
.
caseless
.
get
(
'set-cookie'
);
//如果没有设置到session
if
(
cookie
&&
cookie
.
length
>
0
&&
!
req
.
session
.
gray
)
{
req
.
session
.
gray
=
cookie
[
0
];
}
return
cookie
;
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment