00001 #ifndef WHOISBASEDABUSEADDIESCACHE_H
00002 #define WHOISBASEDABUSEADDIESCACHE_H
00003
00004 #include <abuse/Url.h>
00005 #include <abuse/AbuseAddiesCache.h>
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 class WhoisBasedAbuseAddiesCache: public AbuseAddiesCache
00022 {
00023 public:
00024 WhoisBasedAbuseAddiesCache(const std::string& host, int port=43);
00025 virtual ~WhoisBasedAbuseAddiesCache();
00026
00027 virtual std::list<std::string> query(const Url& url)const throw(std::runtime_error);
00028 virtual std::list<std::string> query(const std::string& doman)const throw(std::runtime_error);
00029
00030
00031 private:
00032 static std::list<std::string> extractMail(const std::string& fromWhere)throw(NotFoundException);
00033 std::string m_host;
00034 int m_port;
00035 };
00036
00037 #endif // WHOISBASEDABUSEADDIESCACHE_H