code duplication with the `else` in `request` method - could we abstract this error and reuse it here?