Refactor and test BaseHttpRequest

Was renamed to Request, because it's not neccessarily a HTTP request