java/nekurak.net-lib/src/cz/frantovo/nekurak/util/HttpPozadavek.java
author František Kučera <franta-hg@frantovo.cz>
Mon May 24 20:13:30 2010 +0200 (2010-05-24)
changeset 120 052107272005
parent 110 c2590a59a02a
child 145 0efefbf5f8b6
permissions -rw-r--r--
Test: Geo – test vzdálené služby pro převod adres na souřadnice.
franta-hg@110
     1
package cz.frantovo.nekurak.util;
franta-hg@110
     2
franta-hg@110
     3
import java.util.ArrayList;
franta-hg@110
     4
import java.util.List;
franta-hg@110
     5
import javax.servlet.http.HttpServletRequest;
franta-hg@110
     6
franta-hg@110
     7
/**
franta-hg@110
     8
 * Pomocná třída s funkcemi pro HTTP požadavky.
franta-hg@110
     9
 * @author fiki
franta-hg@110
    10
 */
franta-hg@110
    11
public class HttpPozadavek {
franta-hg@110
    12
franta-hg@110
    13
    private static List<String> mistniAdresy = new ArrayList<String>();
franta-hg@110
    14
franta-hg@110
    15
    static {
franta-hg@110
    16
	mistniAdresy.add("127.0.0.1");
franta-hg@117
    17
	mistniAdresy.add("2a01:430:17:0:0:0:0:8");
franta-hg@110
    18
    }
franta-hg@110
    19
franta-hg@110
    20
    /**
franta-hg@110
    21
     * @deprecated TODO: toto je dočasný HACK.
franta-hg@110
    22
     * Správně bychom měli použít ventil a přepsat si IP adresu na správnou,
franta-hg@110
    23
     * abychom pak normálně všude mohli používat getRemoteAddr();
franta-hg@110
    24
     * @param pozadavek HTTP požadavek
franta-hg@110
    25
     * @return IP adresa (x-forwarded-for)
franta-hg@110
    26
     */
franta-hg@110
    27
    @Deprecated
franta-hg@110
    28
    public static String getIPadresa(HttpServletRequest pozadavek) {
franta-hg@110
    29
	if (mistniAdresy.contains(pozadavek.getRemoteAddr())) {
franta-hg@110
    30
	    return pozadavek.getHeader("x-forwarded-for");
franta-hg@110
    31
	} else {
franta-hg@110
    32
	    return pozadavek.getRemoteAddr();
franta-hg@110
    33
	}
franta-hg@110
    34
    }
franta-hg@110
    35
}