[fix] set opts before attempting to access opts.request if no options are passed to the constructor