allow `headers` to be a string for fetch()