* refactor: replace custom logic with AbortSignal.timeout * Use custom timeout error message * Include method and url in fetch timeout error * Fix error not rethrown
* refactor: replace custom logic with AbortSignal.timeout * Use custom timeout error message * Include method and url in fetch timeout error * Fix error not rethrown