Skip to content

Commit 18fbd68

Browse files
committed
Merge pull request #403 from getsentry/v7
Update to v7 of API spec
2 parents dca67ee + dfdd247 commit 18fbd68

File tree

4 files changed

+72
-56
lines changed

4 files changed

+72
-56
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Raven.js is a tiny standalone JavaScript client for [Sentry](https://www.getsentry.com/).
44

5-
**Raven.js v1.1 requires Sentry v6.0 or later.**
5+
**Raven.js v1.3 requires Sentry v7.7.0 or later.**
66

77
## Resources
88

plugins/react-native.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,9 @@ module.exports = function (Raven) {
6464
data.culprit = normalizeUrl(data.culprit);
6565
}
6666

67-
if (data.stacktrace && data.stacktrace.frames && data.stacktrace.frames.length) {
68-
data.stacktrace.frames.forEach(function (frame) {
67+
if (data.exception) {
68+
// if data.exception exists, all of the other keys are guaranteed to exist
69+
data.exception.values[0].stacktrace.frames.forEach(function (frame) {
6970
frame.filename = normalizeUrl(frame.filename);
7071
});
7172
}

src/raven.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -697,11 +697,12 @@ function processException(type, message, fileurl, lineno, frames, options) {
697697
objectMerge({
698698
// sentry.interfaces.Exception
699699
exception: {
700-
type: type,
701-
value: message
700+
values: [{
701+
type: type,
702+
value: message,
703+
stacktrace: stacktrace
704+
}]
702705
},
703-
// sentry.interfaces.Stacktrace
704-
stacktrace: stacktrace,
705706
culprit: fileurl,
706707
message: fullMessage
707708
}, options)
@@ -805,7 +806,7 @@ function send(data) {
805806
(globalOptions.transport || makeRequest)({
806807
url: globalServer,
807808
auth: {
808-
sentry_version: '4',
809+
sentry_version: '7',
809810
sentry_client: 'raven-js/' + Raven.VERSION,
810811
sentry_key: globalKey
811812
},

test/raven.test.js

Lines changed: 62 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -769,11 +769,13 @@ describe('globals', function() {
769769
processException('Error', 'lol', 'http://example.com/override.js', 10, frames.slice(0), {});
770770
assert.deepEqual(window.send.lastCall.args, [{
771771
exception: {
772-
type: 'Error',
773-
value: 'lol'
774-
},
775-
stacktrace: {
776-
frames: framesFlipped
772+
values: [{
773+
type: 'Error',
774+
value: 'lol',
775+
stacktrace: {
776+
frames: framesFlipped
777+
}
778+
}]
777779
},
778780
culprit: 'http://example.com/file1.js',
779781
message: 'Error: lol'
@@ -782,11 +784,13 @@ describe('globals', function() {
782784
processException('Error', 'lol', '', 10, frames.slice(0), {});
783785
assert.deepEqual(window.send.lastCall.args, [{
784786
exception: {
785-
type: 'Error',
786-
value: 'lol'
787-
},
788-
stacktrace: {
789-
frames: framesFlipped
787+
values: [{
788+
type: 'Error',
789+
value: 'lol',
790+
stacktrace: {
791+
frames: framesFlipped
792+
}
793+
}]
790794
},
791795
culprit: 'http://example.com/file1.js',
792796
message: 'Error: lol'
@@ -795,11 +799,13 @@ describe('globals', function() {
795799
processException('Error', 'lol', '', 10, frames.slice(0), {extra: 'awesome'});
796800
assert.deepEqual(window.send.lastCall.args, [{
797801
exception: {
798-
type: 'Error',
799-
value: 'lol'
800-
},
801-
stacktrace: {
802-
frames: framesFlipped
802+
values: [{
803+
type: 'Error',
804+
value: 'lol',
805+
stacktrace: {
806+
frames: framesFlipped
807+
}
808+
}]
803809
},
804810
culprit: 'http://example.com/file1.js',
805811
message: 'Error: lol',
@@ -813,14 +819,16 @@ describe('globals', function() {
813819
processException('Error', 'lol', 'http://example.com/override.js', 10, [], {});
814820
assert.deepEqual(window.send.lastCall.args, [{
815821
exception: {
816-
type: 'Error',
817-
value: 'lol'
818-
},
819-
stacktrace: {
820-
frames: [{
821-
filename: 'http://example.com/override.js',
822-
lineno: 10,
823-
in_app: true
822+
values: [{
823+
type: 'Error',
824+
value: 'lol',
825+
stacktrace: {
826+
frames: [{
827+
filename: 'http://example.com/override.js',
828+
lineno: 10,
829+
in_app: true
830+
}]
831+
}
824832
}]
825833
},
826834
culprit: 'http://example.com/override.js',
@@ -830,14 +838,16 @@ describe('globals', function() {
830838
processException('Error', 'lol', 'http://example.com/override.js', 10, [], {});
831839
assert.deepEqual(window.send.lastCall.args, [{
832840
exception: {
833-
type: 'Error',
834-
value: 'lol'
835-
},
836-
stacktrace: {
837-
frames: [{
838-
filename: 'http://example.com/override.js',
839-
lineno: 10,
840-
in_app: true
841+
values: [{
842+
type: 'Error',
843+
value: 'lol',
844+
stacktrace: {
845+
frames: [{
846+
filename: 'http://example.com/override.js',
847+
lineno: 10,
848+
in_app: true
849+
}]
850+
}
841851
}]
842852
},
843853
culprit: 'http://example.com/override.js',
@@ -847,14 +857,16 @@ describe('globals', function() {
847857
processException('Error', 'lol', 'http://example.com/override.js', 10, [], {extra: 'awesome'});
848858
assert.deepEqual(window.send.lastCall.args, [{
849859
exception: {
850-
type: 'Error',
851-
value: 'lol'
852-
},
853-
stacktrace: {
854-
frames: [{
855-
filename: 'http://example.com/override.js',
856-
lineno: 10,
857-
in_app: true
860+
values: [{
861+
type: 'Error',
862+
value: 'lol',
863+
stacktrace: {
864+
frames: [{
865+
filename: 'http://example.com/override.js',
866+
lineno: 10,
867+
in_app: true
868+
}]
869+
}
858870
}]
859871
},
860872
culprit: 'http://example.com/override.js',
@@ -879,14 +891,16 @@ describe('globals', function() {
879891
assert.deepEqual(window.send.lastCall.args, [{
880892
message: 'TypeError: ' + new Array(140).join('a')+'\u2026',
881893
exception: {
882-
type: 'TypeError',
883-
value: new Array(151).join('a')+'\u2026'
884-
},
885-
stacktrace: {
886-
frames: [{
887-
filename: 'http://example.com',
888-
lineno: 34,
889-
in_app: true
894+
values: [{
895+
type: 'TypeError',
896+
value: new Array(151).join('a')+'\u2026',
897+
stacktrace: {
898+
frames: [{
899+
filename: 'http://example.com',
900+
lineno: 34,
901+
in_app: true
902+
}]
903+
}
890904
}]
891905
},
892906
culprit: 'http://example.com',
@@ -1192,7 +1206,7 @@ describe('globals', function() {
11921206
assert.deepEqual(opts.auth, {
11931207
sentry_client: 'raven-js/<%= pkg.version %>',
11941208
sentry_key: 'abc',
1195-
sentry_version: '4'
1209+
sentry_version: '7'
11961210
});
11971211
assert.deepEqual(opts.options, globalOptions);
11981212
assert.isFunction(opts.onSuccess);

0 commit comments

Comments
 (0)