Skip to content

Commit 99313df

Browse files
committed
第三周作业
1 parent 21f061f commit 99313df

File tree

3 files changed

+11
-14
lines changed

3 files changed

+11
-14
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.github.kimmking.gateway.filter;
22

3+
import io.netty.buffer.Unpooled;
34
import io.netty.channel.ChannelHandlerContext;
45
import io.netty.handler.codec.http.FullHttpRequest;
56

@@ -8,5 +9,7 @@ public class HeaderHttpRequestFilter implements HttpRequestFilter {
89
@Override
910
public void filter(FullHttpRequest fullRequest, ChannelHandlerContext ctx) {
1011
fullRequest.headers().set("mao", "soul");
12+
13+
fullRequest.headers().set("token","cafe-babe");
1114
}
1215
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
package io.github.kimmking.gateway.filter;
22

3+
import io.netty.buffer.Unpooled;
34
import io.netty.handler.codec.http.FullHttpResponse;
45

56
public class HeaderHttpResponseFilter implements HttpResponseFilter {
67
@Override
78
public void filter(FullHttpResponse response) {
89
response.headers().set("kk", "java-1-nio");
10+
11+
response.headers().set("Content-Type", "application/json");
12+
13+
response.replace(Unpooled.wrappedBuffer("you are hacked".getBytes()));
14+
915
}
1016
}

02nio/nio02/src/main/java/io/github/kimmking/gateway/outbound/httpclient4/HttpOutboundHandler.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,7 @@ public void handle(final FullHttpRequest fullRequest, final ChannelHandlerContex
8181

8282
private void fetchGet(final FullHttpRequest inbound, final ChannelHandlerContext ctx, final String url) {
8383
final HttpGet httpGet = new HttpGet(url);
84-
//httpGet.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
8584
httpGet.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
86-
httpGet.setHeader("mao", inbound.headers().get("mao"));
8785

8886
httpclient.execute(httpGet, new FutureCallback<HttpResponse>() {
8987
@Override
@@ -113,27 +111,17 @@ public void cancelled() {
113111
private void handleResponse(final FullHttpRequest fullRequest, final ChannelHandlerContext ctx, final HttpResponse endpointResponse) throws Exception {
114112
FullHttpResponse response = null;
115113
try {
116-
// String value = "hello,kimmking";
117-
// response = new DefaultFullHttpResponse(HTTP_1_1, OK, Unpooled.wrappedBuffer(value.getBytes("UTF-8")));
118-
// response.headers().set("Content-Type", "application/json");
119-
// response.headers().setInt("Content-Length", response.content().readableBytes());
120-
114+
121115

122116
byte[] body = EntityUtils.toByteArray(endpointResponse.getEntity());
123-
// System.out.println(new String(body));
124-
// System.out.println(body.length);
117+
125118

126119
response = new DefaultFullHttpResponse(HTTP_1_1, OK, Unpooled.wrappedBuffer(body));
127120

128-
response.headers().set("Content-Type", "application/json");
129121
response.headers().setInt("Content-Length", Integer.parseInt(endpointResponse.getFirstHeader("Content-Length").getValue()));
130122

131123
filter.filter(response);
132124

133-
// for (Header e : endpointResponse.getAllHeaders()) {
134-
// //response.headers().set(e.getName(),e.getValue());
135-
// System.out.println(e.getName() + " => " + e.getValue());
136-
// }
137125

138126
} catch (Exception e) {
139127
e.printStackTrace();

0 commit comments

Comments
 (0)