In general, If the connection to a server is successful, but the server 
sends back an error message and sets the status code to an error state, I 
want this response to be emitted as an `error` event on the stream.  

To be more specific, I want a streaming interface to a Couchdb changes feed 
and I want errors from Couchdb to be emitted as 'error'.  Right now, if I 
create a stream to a couchdb changes feed and something goes wrong inside 
couchdb , like the database doesnt exist or the authentication is 
incorrect, an error will not be emitted.  The response will be emitted as 
data and the status code on the response will be the only indication that 
the request failed.

Heres some code and responses to clarify all this:

Heres the program, index.js.
```
var request = require('request')

var req = request(process.argv[2])
  .on('error', function (er) {
    console.log('error')
    console.log(er)
  })
  .on('end', function () {
    console.log('end')
  })
  .pipe(process.stdout)
```

Requesting a changes feed where the couchdb port is wrong. This error makes 
sense. 
```
$ node index.js http://localhost:598/test
error
{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }
```

Requesting a changes feed where an error occurs in couchdb. The path to 
couchdb is correct, but the database does not exist.  The request ends 
"successfully".
```
$ node index.js http://localhost:5984/tes
{"error":"not_found","reason":"no_db_file"}
end
```

What I want is something like this:
```
$ node index.js http://localhost:5984/tes
error
{ [Error: not_found],
  reason: "no_db_file" }
```


-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to