Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
谢捷峰
discovery
Commits
295d201e
Commit
295d201e
authored
Jan 08, 2019
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修正Header从配置文件读取后contains的Bug
parent
2e423bcd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
10 deletions
+18
-10
discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/aop/FeignStrategyInterceptor.java
+9
-5
discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/aop/RestTemplateStrategyInterceptor.java
+9
-5
No files found.
discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/aop/FeignStrategyInterceptor.java
View file @
295d201e
...
@@ -13,9 +13,11 @@ import feign.RequestInterceptor;
...
@@ -13,9 +13,11 @@ import feign.RequestInterceptor;
import
feign.RequestTemplate
;
import
feign.RequestTemplate
;
import
java.util.Enumeration
;
import
java.util.Enumeration
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -23,24 +25,26 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -23,24 +25,26 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.core.env.ConfigurableEnvironment
;
import
org.springframework.core.env.ConfigurableEnvironment
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
com.nepxion.discovery.common.constant.DiscoveryConstant
;
import
com.nepxion.discovery.common.util.StringUtil
;
import
com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant
;
import
com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant
;
import
com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder
;
import
com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder
;
public
class
FeignStrategyInterceptor
implements
RequestInterceptor
{
public
class
FeignStrategyInterceptor
implements
RequestInterceptor
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
FeignStrategyInterceptor
.
class
);
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
FeignStrategyInterceptor
.
class
);
private
String
requestHeaders
;
@Autowired
@Autowired
private
ConfigurableEnvironment
environment
;
private
ConfigurableEnvironment
environment
;
@Autowired
@Autowired
private
ServiceStrategyContextHolder
serviceStrategyContextHolder
;
private
ServiceStrategyContextHolder
serviceStrategyContextHolder
;
private
List
<
String
>
requestHeaderList
;
public
FeignStrategyInterceptor
(
String
requestHeaders
)
{
public
FeignStrategyInterceptor
(
String
requestHeaders
)
{
LOG
.
info
(
"------------- Feign Intercept Information -----------"
);
LOG
.
info
(
"------------- Feign Intercept Information -----------"
);
if
(
StringUtils
.
isNotEmpty
(
requestHeaders
))
{
if
(
StringUtils
.
isNotEmpty
(
requestHeaders
))
{
this
.
requestHeaders
=
requestHeaders
.
toLowerCase
(
);
requestHeaderList
=
StringUtil
.
splitToList
(
requestHeaders
.
toLowerCase
(),
DiscoveryConstant
.
SEPARATE
);
}
}
LOG
.
info
(
"Feign intercepted headers are {}"
,
StringUtils
.
isNotEmpty
(
requestHeaders
)
?
requestHeaders
:
"empty"
);
LOG
.
info
(
"Feign intercepted headers are {}"
,
StringUtils
.
isNotEmpty
(
requestHeaders
)
?
requestHeaders
:
"empty"
);
LOG
.
info
(
"-------------------------------------------------"
);
LOG
.
info
(
"-------------------------------------------------"
);
...
@@ -48,7 +52,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
...
@@ -48,7 +52,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
@Override
@Override
public
void
apply
(
RequestTemplate
requestTemplate
)
{
public
void
apply
(
RequestTemplate
requestTemplate
)
{
if
(
StringUtils
.
isEmpty
(
requestHeaders
))
{
if
(
CollectionUtils
.
isEmpty
(
requestHeaderList
))
{
return
;
return
;
}
}
...
@@ -71,7 +75,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
...
@@ -71,7 +75,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
String
headerName
=
headerNames
.
nextElement
();
String
headerName
=
headerNames
.
nextElement
();
String
header
=
previousRequest
.
getHeader
(
headerName
);
String
header
=
previousRequest
.
getHeader
(
headerName
);
if
(
requestHeader
s
.
contains
(
headerName
.
toLowerCase
()))
{
if
(
requestHeader
List
.
contains
(
headerName
.
toLowerCase
()))
{
if
(
interceptLogPrint
)
{
if
(
interceptLogPrint
)
{
LOG
.
info
(
"{}={}"
,
headerName
,
header
);
LOG
.
info
(
"{}={}"
,
headerName
,
header
);
}
}
...
...
discovery-plugin-strategy-starter-service/src/main/java/com/nepxion/discovery/plugin/strategy/service/aop/RestTemplateStrategyInterceptor.java
View file @
295d201e
...
@@ -11,9 +11,11 @@ package com.nepxion.discovery.plugin.strategy.service.aop;
...
@@ -11,9 +11,11 @@ package com.nepxion.discovery.plugin.strategy.service.aop;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Enumeration
;
import
java.util.Enumeration
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -26,24 +28,26 @@ import org.springframework.http.client.ClientHttpRequestInterceptor;
...
@@ -26,24 +28,26 @@ import org.springframework.http.client.ClientHttpRequestInterceptor;
import
org.springframework.http.client.ClientHttpResponse
;
import
org.springframework.http.client.ClientHttpResponse
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
com.nepxion.discovery.common.constant.DiscoveryConstant
;
import
com.nepxion.discovery.common.util.StringUtil
;
import
com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant
;
import
com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant
;
import
com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder
;
import
com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder
;
public
class
RestTemplateStrategyInterceptor
implements
ClientHttpRequestInterceptor
{
public
class
RestTemplateStrategyInterceptor
implements
ClientHttpRequestInterceptor
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
RestTemplateStrategyInterceptor
.
class
);
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
RestTemplateStrategyInterceptor
.
class
);
private
String
requestHeaders
;
@Autowired
@Autowired
private
ConfigurableEnvironment
environment
;
private
ConfigurableEnvironment
environment
;
@Autowired
@Autowired
private
ServiceStrategyContextHolder
serviceStrategyContextHolder
;
private
ServiceStrategyContextHolder
serviceStrategyContextHolder
;
private
List
<
String
>
requestHeaderList
;
public
RestTemplateStrategyInterceptor
(
String
requestHeaders
)
{
public
RestTemplateStrategyInterceptor
(
String
requestHeaders
)
{
LOG
.
info
(
"------------- RestTemplate Intercept Information -----------"
);
LOG
.
info
(
"------------- RestTemplate Intercept Information -----------"
);
if
(
StringUtils
.
isNotEmpty
(
requestHeaders
))
{
if
(
StringUtils
.
isNotEmpty
(
requestHeaders
))
{
this
.
requestHeaders
=
requestHeaders
.
toLowerCase
(
);
requestHeaderList
=
StringUtil
.
splitToList
(
requestHeaders
.
toLowerCase
(),
DiscoveryConstant
.
SEPARATE
);
}
}
LOG
.
info
(
"RestTemplate intercepted headers are {}"
,
StringUtils
.
isNotEmpty
(
requestHeaders
)
?
requestHeaders
:
"empty"
);
LOG
.
info
(
"RestTemplate intercepted headers are {}"
,
StringUtils
.
isNotEmpty
(
requestHeaders
)
?
requestHeaders
:
"empty"
);
LOG
.
info
(
"-------------------------------------------------"
);
LOG
.
info
(
"-------------------------------------------------"
);
...
@@ -51,7 +55,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
...
@@ -51,7 +55,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
@Override
@Override
public
ClientHttpResponse
intercept
(
HttpRequest
request
,
byte
[]
body
,
ClientHttpRequestExecution
execution
)
throws
IOException
{
public
ClientHttpResponse
intercept
(
HttpRequest
request
,
byte
[]
body
,
ClientHttpRequestExecution
execution
)
throws
IOException
{
if
(
StringUtils
.
isEmpty
(
requestHeaders
))
{
if
(
CollectionUtils
.
isEmpty
(
requestHeaderList
))
{
return
execution
.
execute
(
request
,
body
);
return
execution
.
execute
(
request
,
body
);
}
}
...
@@ -75,7 +79,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
...
@@ -75,7 +79,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
String
headerName
=
headerNames
.
nextElement
();
String
headerName
=
headerNames
.
nextElement
();
String
header
=
previousRequest
.
getHeader
(
headerName
);
String
header
=
previousRequest
.
getHeader
(
headerName
);
if
(
requestHeader
s
.
contains
(
headerName
.
toLowerCase
()))
{
if
(
requestHeader
List
.
contains
(
headerName
.
toLowerCase
()))
{
if
(
interceptLogPrint
)
{
if
(
interceptLogPrint
)
{
LOG
.
info
(
"{}={}"
,
headerName
,
header
);
LOG
.
info
(
"{}={}"
,
headerName
,
header
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment