        
        if(!this.isProtocol(protocol)){
            throw new Error('url must starts with http:// or https://')
        }

        let hostname:string = this.host.split('://').pop() || ''
        if(hostname === undefined || hostname === null || hostname.length === 0) {
            throw new Error('hostname is required to poke request.')
        }

        const full_url:Array<string> = hostname?.split('/') || []
        hostname = full_url.shift() || '' 
        let path = this.options?.path || full_url.join('/')
        path = `/${path}${Object.keys(this.options?.query || {}).length > 0 ? stringifyQuery(this.options?.query || {}) : ''}`
        