a port of python's requests