<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package org.geotools.tile.impl.osm;

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import org.geotools.data.ows.SimpleHttpClient;
import org.geotools.image.io.ImageIOExt;
import org.geotools.tile.Tile;
import org.geotools.tile.TileIdentifier;
import org.geotools.tile.TileService;
import org.geotools.tile.impl.ZoomLevel;

/**
 *
 * @author mark
 */
public class OSMTileWeps extends OSMTile {
    
    private Map&lt;String, String&gt; headers;
    
    public OSMTileWeps(int x, int y, ZoomLevel zoomLevel, TileService service) {
        this(new OSMTileIdentifier(x, y, zoomLevel, service.getName()), service);
    }
    
    public OSMTileWeps(TileIdentifier tileName, TileService service) {
        super(tileName, service);
        
        headers = new HashMap&lt;&gt;();
        headers.put("User-Agent", "Geotools Http client");
        
        setImageLoader(((OSMServiceWeps)service).getCacheLoader());
    }
    
    @Override
    public BufferedImage loadImageTileImage(Tile tile) throws IOException {

//        Map&lt;String, String&gt; headers = new HashMap&lt;&gt;();
//        headers.put("User-Agent", "Geotools Http client");
        try (InputStream is = setupInputStream()) {
            return ImageIOExt.readBufferedImage(is);
        }
    }

    public InputStream setupInputStream() throws IOException {
        SimpleHttpClient client = new SimpleHttpClient();
        return client.get(getUrl(), headers).getResponseStream();
    }
}
</pre></body></html>