Skip to content

Commit 43ff5da

Browse files
committed
Merge pull request #123 from maxvipon/pass-extra-options-to-transport
Add passing extra options to HTTP transport
2 parents 750f102 + 82afc59 commit 43ff5da

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

README.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,18 @@ You can specify a level in the second optional parameter. Default level is `erro
4545

4646
```javascript
4747
var raven = require('raven');
48-
4948
var client = new raven.Client('{{ SENTRY_DSN }}', {level: 'warning'});
5049

51-
client.captureMessage("Another message")
50+
client.captureMessage('Another message')
51+
```
52+
53+
**Passing extra HTTP transport options**
54+
```javascript
55+
var raven = require('raven');
56+
var client = new raven.Client('{{ SENTRY_DSN }}', {transport: new raven.transports.HTTPSTransport({rejectUnauthorized: false})});
5257
```
5358

54-
**Adding extra info an event**
59+
**Adding extra info to an event**
5560
```javascript
5661
var raven = require('raven');
5762

lib/transports.js

+13-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ function Transport() {
66
util.inherits(Transport, events.EventEmitter);
77

88
var http = require('http');
9-
function HTTPTransport() {
9+
function HTTPTransport(options) {
1010
this.defaultPort = 80;
1111
this.transport = http;
12+
this.options = options || {};
1213
}
1314
util.inherits(HTTPTransport, Transport);
1415
HTTPTransport.prototype.send = function(client, message, headers, ident) {
@@ -19,7 +20,13 @@ HTTPTransport.prototype.send = function(client, message, headers, ident) {
1920
method: 'POST',
2021
port: client.dsn.port || this.defaultPort,
2122
ca: client.ca
22-
}, req = this.transport.request(options, function(res){
23+
};
24+
for (var key in this.options) {
25+
if (this.options.hasOwnProperty(key)) {
26+
options[key] = this.options[key];
27+
}
28+
}
29+
var req = this.transport.request(options, function(res){
2330
res.setEncoding('utf8');
2431
if(res.statusCode >= 200 && res.statusCode < 300) {
2532
client.emit('logged', ident);
@@ -46,9 +53,10 @@ HTTPTransport.prototype.send = function(client, message, headers, ident) {
4653
};
4754

4855
var https = require('https');
49-
function HTTPSTransport() {
56+
function HTTPSTransport(options) {
5057
this.defaultPort = 443;
5158
this.transport = https;
59+
this.options = options || {};
5260
}
5361
util.inherits(HTTPSTransport, HTTPTransport);
5462

@@ -74,3 +82,5 @@ module.exports.http = new HTTPTransport();
7482
module.exports.https = new HTTPSTransport();
7583
module.exports.udp = new UDPTransport();
7684
module.exports.Transport = Transport;
85+
module.exports.HTTPTransport = HTTPTransport;
86+
module.exports.HTTPSTransport = HTTPSTransport;

0 commit comments

Comments
 (0)