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.