From 0ee3d10fda6414bada437a9931807e0fa0ffa1f1 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Fri, 12 Mar 2021 09:14:52 +0000 Subject: [PATCH] Add User-Agent to Websockets I think, haven't actually tested this :D:. Closes #730. --- src/main/java/dan200/computercraft/core/apis/HTTPAPI.java | 8 +++++++- .../core/apis/http/request/HttpRequestHandler.java | 4 ---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java b/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java index 0494066ce..396232e92 100644 --- a/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java +++ b/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java @@ -14,6 +14,7 @@ import dan200.computercraft.core.apis.http.request.HttpRequest; import dan200.computercraft.core.apis.http.websocket.Websocket; import io.netty.handler.codec.http.DefaultHttpHeaders; +import io.netty.handler.codec.http.HttpHeaderNames; import io.netty.handler.codec.http.HttpHeaders; import io.netty.handler.codec.http.HttpMethod; @@ -179,7 +180,7 @@ public final Object[] websocket( String address, Optional> headerTbl ) } @Nonnull - private static HttpHeaders getHeaders( @Nonnull Map headerTable ) throws LuaException + private HttpHeaders getHeaders( @Nonnull Map headerTable ) throws LuaException { HttpHeaders headers = new DefaultHttpHeaders(); for( Map.Entry entry : headerTable.entrySet() ) @@ -197,6 +198,11 @@ private static HttpHeaders getHeaders( @Nonnull Map headerTable ) throws L } } } + + if( !headers.contains( HttpHeaderNames.USER_AGENT ) ) + { + headers.set( HttpHeaderNames.USER_AGENT, apiEnvironment.getComputerEnvironment().getUserAgent() ); + } return headers; } } diff --git a/src/main/java/dan200/computercraft/core/apis/http/request/HttpRequestHandler.java b/src/main/java/dan200/computercraft/core/apis/http/request/HttpRequestHandler.java index db83124e6..e4e6445b4 100644 --- a/src/main/java/dan200/computercraft/core/apis/http/request/HttpRequestHandler.java +++ b/src/main/java/dan200/computercraft/core/apis/http/request/HttpRequestHandler.java @@ -80,10 +80,6 @@ public void channelActive( ChannelHandlerContext ctx ) throws Exception { request.headers().set( HttpHeaderNames.ACCEPT_CHARSET, "UTF-8" ); } - if( !request.headers().contains( HttpHeaderNames.USER_AGENT ) ) - { - request.headers().set( HttpHeaderNames.USER_AGENT, this.request.environment().getComputerEnvironment().getUserAgent() ); - } request.headers().set( HttpHeaderNames.HOST, uri.getPort() < 0 ? uri.getHost() : uri.getHost() + ":" + uri.getPort() ); request.headers().set( HttpHeaderNames.CONNECTION, HttpHeaderValues.CLOSE );