Skip to content

Instantly share code, notes, and snippets.

@libbkmz
Created August 18, 2013 15:04
Show Gist options
  • Select an option

  • Save libbkmz/6262097 to your computer and use it in GitHub Desktop.

Select an option

Save libbkmz/6262097 to your computer and use it in GitHub Desktop.
# from socket import gethostbyname as native_gethostbyname
# from socket import getaddrinfo as native_getaddrinfo
# import sys
# from gevent.socket import gethostbyname as green_gethostbyname
from gevent.socket import gethostbyname, getaddrinfo
from gevent.dns import resolve_ipv4
def get_addr(*args, **kwargs):
print "ADDR: RESOLVING!!!"
result = getaddrinfo(*args, **kwargs)
print result
return result
def get_host(*args, **kwargs):
print "HOST: RESOLVING!!!"
return gethostbyname(*args, **kwargs)
def ipv4_resolve(*args, **kwargs):
print "IPV4: RESOLVING!!!"
return resolve_ipv4(*args, **kwargs)
# def green_get_addr(domain):
# print "GREEN RESOLVING!!!"
# return green_gethostbyname(domain)
def patch_dns():
# _socket = __import__('socket')
_socket = __import__('gevent.socket')
print "Moneky Patching dns"
_socket.getaddrinfo = get_addr
_socket.gethostbyname = get_host
_res = __import__('gevent.dns')
_res.resolve_ipv4 = ipv4_resolve
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment