/** * Returns a deap copy of the passed in {@link HttpHeaders}. */ public HttpHeaders copy() { return new DefaultHttpHeaders().set(this); } }
private void configureTransferAdapter(AsyncHandler<?> handler, HttpRequest httpRequest) { HttpHeaders h = new DefaultHttpHeaders(false).set(httpRequest.headers()); TransferCompletionHandler.class.cast(handler).headers(h); }
@Override public void push(final String method, final String path, final Map<String, Object> headers) { ctx.channel().eventLoop().execute(() -> { AsciiString streamIdHeader = HttpConversionUtil.ExtensionHeaderNames.STREAM_ID.text(); Http2Connection connection = encoder.connection(); int nextStreamId = connection.local().incrementAndGetNextStreamId(); Http2Headers h2headers = new DefaultHttp2Headers() .path(path) .method(method) .authority(authority) .scheme(scheme); headers.forEach((n, v) -> h2headers.add(n, v.toString())); encoder.writePushPromise(ctx, streamId, nextStreamId, h2headers, 0, ctx.newPromise()); // TODO: Is there another way of handling a push promise? DefaultFullHttpRequest pushRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.valueOf(method.toUpperCase()), path, Unpooled.EMPTY_BUFFER, new DefaultHttpHeaders(false).set(streamIdHeader, nextStreamId), EmptyHttpHeaders.INSTANCE); ctx.pipeline().fireChannelRead(pushRequest); ctx.pipeline().fireChannelReadComplete(); }); }
@DataProvider(name = "chrome-user-agent") public static Object[][] hashEnabledValuesProvider() throws UnknownHostException { return new Object[][]{ {ImmutableMap.of("_user_agent", USER_AGENT), EventMapper.RequestParams.EMPTY_PARAMS}, {ImmutableMap.of("_user_agent", true), (EventMapper.RequestParams) () -> new DefaultHttpHeaders().set("User-Agent", USER_AGENT)}, {ImmutableMap.of("_user_agent", USER_AGENT), (EventMapper.RequestParams) () -> new DefaultHttpHeaders().set("User-Agent", USER_AGENT)} }; }
@DataProvider(name = "google-referrer") public static Object[][] hashEnabledValuesProvider() throws UnknownHostException { return new Object[][]{ {ImmutableMap.of("_referrer", "https://google.com/?q=test"), EventMapper.RequestParams.EMPTY_PARAMS}, {ImmutableMap.of("_referrer", true), (EventMapper.RequestParams) () -> new DefaultHttpHeaders().set("Referer", "https://google.com/?q=test")}, {ImmutableMap.of("_referrer", "https://google.com/?q=test"), (EventMapper.RequestParams) () -> new DefaultHttpHeaders().set("Referer", "https://google.com/?q=test")} }; }
@Test() public void testDisableReferrer() throws Exception { ReferrerEventMapper mapper = new ReferrerEventMapper(); FieldDependencyBuilder builder = new FieldDependencyBuilder(); mapper.addFieldDependency(builder); builder.build(); List<SchemaField> fields = builder.build().dependentFields.get("_referrer"); ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder() .addAll(fields.stream() .map(AvroUtil::generateAvroField).collect(Collectors.toList())) .add(new Schema.Field("_referrer", Schema.create(NULL), null, null)) .build(); GenericData.Record properties = new GenericData.Record(Schema.createRecord(build)); properties.put("_referrer", false); Event event = new Event("testproject", "testcollection", null, null, properties); List<Cookie> resp = mapper.map(event, () -> { return new DefaultHttpHeaders().set("Referrer", "https://google.com/?q=test"); }, InetAddress.getLocalHost(), null); assertNull(resp); for (SchemaField field : fields) { assertNull(event.getAttribute(field.getName())); } }
@Test() public void testDisableUserAgent() throws Exception { UserAgentEventMapper mapper = new UserAgentEventMapper(new WebsiteMapperConfig()); FieldDependencyBuilder builder = new FieldDependencyBuilder(); mapper.addFieldDependency(builder); builder.build(); List<SchemaField> fields = builder.build().dependentFields.get("_user_agent"); ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder() .addAll(fields.stream() .map(AvroUtil::generateAvroField).collect(Collectors.toList())) .add(new Schema.Field("_user_agent", Schema.create(NULL), null, null)) .build(); GenericData.Record properties = new GenericData.Record(Schema.createRecord(build)); properties.put("_user_agent", false); Event event = new Event("testproject", "testcollection", null, null, properties); List<Cookie> resp = mapper.map(event, () -> new DefaultHttpHeaders().set("User-Agent", USER_AGENT), InetAddress.getLocalHost(), null); assertNull(resp); for (SchemaField field : fields) { assertNull(event.getAttribute(field.getName())); } } }
/** * Sets the (only) value for the header with the specified name. * <p/> * All existing values for the same header will be removed. * * @param name The name of the header * @param value The value of the header * @return this builder */ public Builder set(CharSequence name, Object value) { nettyHeaders.set(name, value); return this; }
public void storeEvents(RakamHttpRequest request, ThrowableFunction mapper, BiFunction<List<Event>, HttpHeaders, CompletableFuture<FullHttpResponse>> responseFunction, boolean mapEvents) { request.bodyHandler(buff -> { DefaultHttpHeaders responseHeaders = new DefaultHttpHeaders(); responseHeaders.set(ACCESS_CONTROL_ALLOW_CREDENTIALS, "true"); if (request.headers().contains(ORIGIN)) { responseHeaders.set(ACCESS_CONTROL_ALLOW_ORIGIN, request.headers().get(ORIGIN)); responseHeaders.set(ACCESS_CONTROL_EXPOSE_HEADERS, headerList);
/** * Returns a deep copy of the passed in {@link HttpHeaders}. */ public HttpHeaders copy() { return new DefaultHttpHeaders().set(this); } }
/** * Returns a deap copy of the passed in {@link HttpHeaders}. */ public HttpHeaders copy() { return new DefaultHttpHeaders().set(this); } }
/** * Returns a deap copy of the passed in {@link HttpHeaders}. */ public HttpHeaders copy() { return new DefaultHttpHeaders().set(this); } }
public Builder(HttpHeaders headers) { this.nettyHeaders = new DefaultHttpHeaders(false); this.nettyHeaders.set(headers.nettyHeaders); }
/** * Returns a deap copy of the passed in {@link HttpHeaders}. */ public HttpHeaders copy() { return new DefaultHttpHeaders().set(this); } }
@Path("/{key-name}") @GET public void get(HttpRequest httpRequest, HttpResponder httpResponder, @PathParam("namespace-id") String namespace, @PathParam("key-name") String name) throws Exception { SecureKeyId secureKeyId = new SecureKeyId(namespace, name); httpResponder.sendByteArray(HttpResponseStatus.OK, secureStore.getSecureData(namespace, name).get(), new DefaultHttpHeaders().set(HttpHeaderNames.CONTENT_TYPE, "text/plain;charset=utf-8")); }
@Path("/{key-name}") @GET public void get(HttpRequest httpRequest, HttpResponder httpResponder, @PathParam("namespace-id") String namespace, @PathParam("key-name") String name) throws Exception { SecureKeyId secureKeyId = new SecureKeyId(namespace, name); httpResponder.sendByteArray(HttpResponseStatus.OK, secureStore.get(namespace, name).get(), new DefaultHttpHeaders().set(HttpHeaderNames.CONTENT_TYPE, "text/plain;charset=utf-8")); }
/** * Gets list of topics along with offsets and limit as request and returns list of messages */ @POST @Path("/metadata") public void metadata(FullHttpRequest request, HttpResponder responder) throws Exception { Map<String, GenericRecord> consumeRequests = decodeConsumeRequest(request); MessagesBodyProducer messagesBodyProducer = new MessagesBodyProducer(cConf, consumeRequests, messagingContext); responder.sendContent(HttpResponseStatus.OK, messagesBodyProducer, new DefaultHttpHeaders().set(HttpHeaderNames.CONTENT_TYPE, "avro/binary")); }
private HttpHeaders filterHeaders(HttpHeaders headers, Set<String> removedHeaders) { return headers.entries() .stream() .filter(entry -> !removedHeaders.contains(entry.getKey() .toLowerCase(ENGLISH))) .collect(DefaultHttpHeaders::new, (h, e) -> h.set(e.getKey(), e.getValue()), HttpHeaders::set); } }
/** * Creates a new RequestInfo that represents unknown requests. Usually only needed in error situations. The URI, * query params, and headers will be tagged with {@link #NONE_OR_UNKNOWN_TAG} to indicate that the request was * unknown. */ public static RequestInfoImpl<?> dummyInstanceForUnknownRequests() { HttpHeaders headers = new DefaultHttpHeaders().set(NONE_OR_UNKNOWN_TAG, "true"); QueryStringDecoder queryParams = new QueryStringDecoder("/?" + NONE_OR_UNKNOWN_TAG + "=true"); return new RequestInfoImpl(NONE_OR_UNKNOWN_TAG, null, headers, null, queryParams, null, null, null, null, false, true, false); }
public NettyWebSocketTransportHandler() { DefaultHttpHeaders headers = new DefaultHttpHeaders(); getTransportOptions().getHttpHeaders(); for (Map.Entry<String, String> entry : getTransportOptions().getHttpHeaders().entrySet()) { headers.set(entry.getKey(), entry.getValue()); } handshaker = WebSocketClientHandshakerFactory.newHandshaker( getRemoteLocation(), WebSocketVersion.V13, AMQP_SUB_PROTOCOL, true, headers, getMaxFrameSize()); }