handle null cookies, redesigned to take external HTTPRequestHandlerMapper