Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuy-shops-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
weiqingting
9 years ago
Commit
85b8ae8969ba6c7623502318ef9559468e4e130a
1 parent
d4f682d1
提交
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
30 deletions
server/mid/grayroute.js
server/mid/grayroute.js
View file @
85b8ae8
...
...
@@ -32,8 +32,7 @@ module.exports = function(proxyRoute) {
}
//如果新系统路由没有,代理到老平台
if
(
!
proxyRoute
.
interfacesConfig
[
key
])
{
if
(
!
proxyRoute
.
interfacesConfig
[
key
])
{
//老系统调用地址
var
callUrl
=
config
.
url
+
req
.
originalUrl
;
var
options
=
{
...
...
@@ -46,7 +45,6 @@ module.exports = function(proxyRoute) {
}
//删除提交内容长度,代理会改变长度
delete
options
.
headers
[
'content-length'
];
delete
options
.
headers
[
"accept-encoding"
];
//设置代理host
options
.
headers
[
'host'
]
=
config
.
url
.
replace
(
'http://'
,
''
);
...
...
@@ -55,36 +53,12 @@ module.exports = function(proxyRoute) {
}
else
{
options
.
headers
[
'cookie'
]
=
req
.
session
.
gray
;
}
//如果是上传文件添加文件信息到form表单
if
(
req
.
files
&&
_
.
keys
(
req
.
files
).
length
>
0
)
{
options
.
formData
=
addFiles
(
req
);
delete
options
.
form
;
}
logger
.
log
(
'info'
,
'grayroute: request options: %j'
,
options
,{});
//发起代理请求
if
(
req
.
headers
[
'accept'
].
indexOf
(
'text/html'
)
>-
1
||
req
.
xhr
)
{
request
(
options
,
function
(
err
,
res
,
body
)
{
if
(
err
)
{
logger
.
log
(
'error'
,
'grayroute: request error:'
,
err
);
ress
.
status
(
500
).
send
(
''
);
}
else
if
(
res
&&
res
.
statusCode
===
302
)
{
//跳转
ress
.
redirect
(
res
.
caseless
.
get
(
'location'
));
}
else
{
var
ContentType
=
res
.
caseless
.
get
(
'Content-Type'
);
var
isAttachment
=
res
.
caseless
.
get
(
'content-disposition'
);
if
(
isAttachment
&&
isAttachment
.
indexOf
(
'attachment'
)
>-
1
)
{
request
(
options
).
pipe
(
ress
);
}
else
{
ress
.
append
(
'Content-Type'
,
ContentType
);
ress
.
status
(
res
.
statusCode
).
send
(
body
);
}
}
});
}
else
{
request
(
options
).
pipe
(
ress
);
//如果是静态资源,直接管道传递结果
}
request
(
options
).
pipe
(
ress
);
}
else
{
//当不是老系统的URL,需要访问老系统保持session
...
...
@@ -102,8 +76,8 @@ module.exports = function(proxyRoute) {
}
}
}
/**
/**
* 添加文件到body中
* @param {Object} req 请求对象
*/
...
...
Please
register
or
login
to post a comment