void addHeaders()

in src/main/java/org/apache/sling/pipes/AbstractInputStreamPipe.java [89:110]


    void addHeaders(URLConnection connection) {
        connection.setRequestProperty( "charset", "utf-8");
        Collection<String> headers = properties.keySet().stream()
                .filter(k -> k.startsWith(HEADER_PREFIX))
                .map(s -> StringUtils.substringAfter(s, HEADER_PREFIX))
                .collect(Collectors.toList());
        if (!headers.isEmpty()) {
            for (String k : headers) {
                String value = getBindings().instantiateExpression(properties.get(HEADER_PREFIX + k, String.class));
                connection.setRequestProperty(k, value);
            }
            String basicAuth = (String)getBindings().getBindings().get(BASIC_AUTH_BINDINGS);
            if (StringUtils.isNotBlank(basicAuth)) {
                if (headers.contains(AUTH_HEADER)) {
                    LOGGER.warn("both authentication header & basic auth are set, ignoring basic auth");
                } else {
                    String encoded = Base64.getEncoder().encodeToString(basicAuth.getBytes(StandardCharsets.UTF_8));
                    connection.setRequestProperty(AUTH_HEADER, BASIC_PREFIX + encoded);
                }
            }
        }
    }