different callbacks for HTTP blocking and async reads