Skip to content

Commit bf7ef45

Browse files
author
hiram
committed
调整filter功能,请求后台服务的时候带上header=(nio,名字)的功能。
1 parent 2f9748f commit bf7ef45

5 files changed

Lines changed: 28 additions & 72 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package io.github.kimmking.gateway.filter;
2+
3+
import io.netty.buffer.Unpooled;
4+
import io.netty.channel.ChannelFutureListener;
5+
import io.netty.channel.ChannelHandlerContext;
6+
import io.netty.handler.codec.http.*;
7+
8+
import java.io.UnsupportedEncodingException;
9+
10+
import static io.netty.handler.codec.http.HttpResponseStatus.*;
11+
import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1;
12+
13+
14+
/**
15+
* 过滤http请求,如果是Post就返回错误信息,get请求就通过
16+
*/
17+
public class HttpHeaderRequestFilter implements HttpRequestFilter {
18+
19+
@Override
20+
public void filter(FullHttpRequest fullRequest, final ChannelHandlerContext ctx) {
21+
HttpMethod method = fullRequest.method();
22+
HttpHeaders headers = fullRequest.headers();
23+
headers.add("nio", "huangjian");
24+
}
25+
}

02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/HttpMethodRequestFilter.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

02nio/nio02/src/main/java/io/github/kimmking/gateway/filter/UriHttpRequestFilter.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

02nio/nio02/src/main/java/io/github/kimmking/gateway/inbound/HttpInboundHandler.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
package io.github.kimmking.gateway.inbound;
22

3-
import io.github.kimmking.gateway.filter.HttpMethodRequestFilter;
4-
import io.github.kimmking.gateway.filter.UriHttpRequestFilter;
5-
import io.github.kimmking.gateway.outbound.httpclient4.HttpOutboundHandler;
3+
import io.github.kimmking.gateway.filter.HttpHeaderRequestFilter;
64
import io.github.kimmking.gateway.outbound.netty4.NettyHttpClient;
7-
import io.github.kimmking.gateway.outbound.netty4.NettyHttpOutboundHandler;
8-
import io.github.kimmking.gateway.util.ByteBufToBytes;
95
import io.netty.channel.ChannelHandlerContext;
106
import io.netty.channel.ChannelInboundHandlerAdapter;
117
import io.netty.handler.codec.http.*;
@@ -44,7 +40,7 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
4440
// }
4541

4642
//handler.handle(fullRequest, ctx);
47-
HttpMethodRequestFilter methodHttpRequestFilter = new HttpMethodRequestFilter();
43+
HttpHeaderRequestFilter methodHttpRequestFilter = new HttpHeaderRequestFilter();
4844
methodHttpRequestFilter.filter(fullRequest, ctx);
4945
// UriHttpRequestFilter uriHttpRequestFilter = new UriHttpRequestFilter();
5046
// uriHttpRequestFilter.filter(fullRequest, ctx);

02nio/nio02/src/main/java/io/github/kimmking/gateway/outbound/netty4/NettyHttpOutboundHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public void channelActive(ChannelHandlerContext ctx)
4444

4545
// 构建http请求
4646
request.headers().set(HttpHeaderNames.HOST, host);
47+
request.headers().set("nio", fullHttpRequest.headers().get("nio"));
4748
request.headers().set(HttpHeaderNames.CONNECTION,
4849
HttpHeaderNames.CONNECTION);
4950
request.headers().set(HttpHeaderNames.CONTENT_LENGTH,

0 commit comments

Comments
 (0)