Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

bad proxy will raise exception: TypeError: options.request.emit is not a function #40

Open
sshxmz opened this issue Dec 7, 2019 · 4 comments

Comments

@sshxmz
Copy link

sshxmz commented Dec 7, 2019

When I use an agent created by tunnel with proxy, if the proxy is not reachable, wrong exception raised.

Simple codes:

let a = tunnel.httpOverHttp({proxy: {host: 'nosuch.host.com', port: 8080}});
    return got(anurl, {agent: a})
    .then( res => {
        if (res.statusCode === 200) return res.body;
        else throw new Error('http status ' + res.statusCode + ', ' + res.body);
    }); 

exception raised:

TypeError: options.request.emit is not a function
    at ClientRequest.onError (/home/xxx/nodejs/proxylib/node_modules/tunnel/lib/tunnel.js:183:21)
    at Object.onceWrapper (events.js:300:26)
    at ClientRequest.emit (events.js:210:5)
    at Socket.socketErrorListener (_http_client.js:406:9)
    at Socket.emit (events.js:210:5)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

But EHOSTNOTFOUND or ENETWORK are expected error.

@KhafraDev
Copy link

I am getting this as well

@malsatin
Copy link

malsatin commented Jan 5, 2020

I had the same issue, it appeared that I have used the wrong config

@abriginets
Copy link

Same issue here

@nikhell86
Copy link

if authentication parameters are bad or any proxy parameter is bad, exceptions are thrown.. Is there a way to catch these exceptions and show to the user what went wrong?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants