All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.opentracing.contrib.httpcomponents.HttpRequestTextMap Maven / Gradle / Ivy

There is a newer version: 0.12.3
Show newest version
package io.opentracing.contrib.httpcomponents;

import io.opentracing.propagation.TextMap;
import java.util.AbstractMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.http.Header;
import org.apache.http.HeaderIterator;
import org.apache.http.HttpRequest;

public class HttpRequestTextMap implements TextMap {

    private final HttpRequest request;

    public HttpRequestTextMap(HttpRequest request) {
        this.request = request;
    }

    public Iterator> iterator() {
        final HeaderIterator iterator = this.request.headerIterator();
        return new Iterator>() {
            public boolean hasNext() {
                return iterator.hasNext();
            }

            public Map.Entry next() {
                Header header = iterator.nextHeader();
                return new AbstractMap.SimpleImmutableEntry<>(header.getName(), header.getValue());
            }
        };
    }

    public void put(String key, String value) {
        request.setHeader(key, value);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy