NAME
   AnyEvent::DNS::EtcHosts - Use /etc/hosts before DNS

SYNOPSIS
     use AnyEvent::DNS::EtcHosts;

     use AnyEvent::DNS;
     my $cv = AE::cv;
     AnyEvent::DNS::any 'example.com', sub {
         say foreach map { $_->[4] } grep { $_->[1] =~ /^(a|aaaa)$/ } @_;
         $cv->send;
     };

     use AnyEvent::Socket;
     my $cv = AE::cv;
     AnyEvent::Socket::resolve_sockaddr $domain, $service, $proto, $family, undef, sub {
         say foreach map { format_address((AnyEvent::Socket::unpack_sockaddr($_->[3]))[1]) } @_;
         $cv->send;
     };

DESCRIPTION
   AnyEvent::DNS::EtcHosts changes AnyEvent::DNS behavior. The /etc/hosts
   file is searched before DNS, so it is possible to override DNS entries.

   The DNS lookups are emulated. This resolver returns the standard DNS
   reply based on /etc/hosts file rather than real DNS.

   You can choose different file by changing `PERL_ANYEVENT_HOSTS'
   environment variable.

   This module also disables original AnyEvent::Socket's helper function
   which reads /etc/hosts file after DNS entry was not found. It prevents
   to read this file twice.

   The AnyEvent::Socket resolver searches IPv4 and IPv6 addresses
   separately. If you don't want to check the addresses in DNS, both IPv4
   and IPv6 addresses should be placed in /etc/hosts or the protocol family
   should be set explicitly for `resolve_sockaddr' function.

SEE ALSO
   AnyEvent::DNS, AnyEvent::Socket.

BUGS
   This module might be incompatible with further versions of AnyEvent
   module.

   If you find the bug or want to implement new features, please report it
   at https://github.com/dex4er/perl-AnyEvent-DNS-EtcHosts/issues

   The code repository is available at
   http://github.com/dex4er/perl-AnyEvent-DNS-EtcHosts

AUTHORS
   Piotr Roszatycki <[email protected]>

   Helper functions taken from AnyEvent::Socket 7.05 by Marc Lehmann
   <[email protected]>

LICENSE
   Copyright (c) 2013-2014 Piotr Roszatycki <[email protected]>.

   This is free software; you can redistribute it and/or modify it under
   the same terms as perl itself.

   See http://dev.perl.org/licenses/artistic.html