We are trying to set up a self-hosted Sentry instance. We use a prebuilt Sentry Docker image and have an nginx load balancer connected as well.
When trying to use sentry-cli to upload debug files (using upload-dif or upload-dsym), the upload always fails with a 400 error response.
The most prominent difference between the successful and the failing requests I can see is that the failing requests have a duplicated Authorization header. According to RFC 7230 this is not correct behaviour, so it's expected that some servers will reject the request.
I tried to send those requests per postman manually and I also got a 400 Bad Request when using two Authorization headers and a 200 Success when using only one.
Is this some kind of faulty setup on our end?
This is the log:
sentry-cli upload-dif ~/Downloads/dysms --log-level debug
INFO 2020-02-17 11:33:51.264996 +01:00 Loaded config from /Users/me/.sentryclirc
DEBUG 2020-02-17 11:33:51.265314 +01:00 sentry-cli version: 1.51.0, platform: "darwin", architecture: "x86_64"
INFO 2020-02-17 11:33:51.265328 +01:00 sentry-cli was invoked with the following command line: "sentry-cli" "upload-dif" "/Users/me/Downloads/dsyms" "--log-level" "debug"
DEBUG 2020-02-17 11:33:51.265875 +01:00 request GET https://sentry.backend.dev.myProject.otc/api/0/organizations/sentry/chunk-upload/
DEBUG 2020-02-17 11:33:51.265901 +01:00 using token authentication
DEBUG 2020-02-17 11:33:51.265914 +01:00 retry number 0, max retries: 0
DEBUG 2020-02-17 11:33:51.480542 +01:00 > GET /api/0/organizations/sentry/chunk-upload/ HTTP/1.1
DEBUG 2020-02-17 11:33:51.480591 +01:00 > Host: sentry.backend.dev.myProject.otc
DEBUG 2020-02-17 11:33:51.480604 +01:00 > Accept: */*
DEBUG 2020-02-17 11:33:51.480614 +01:00 > Connection: TE
DEBUG 2020-02-17 11:33:51.480623 +01:00 > TE: gzip
DEBUG 2020-02-17 11:33:51.480632 +01:00 > User-Agent: sentry-cli/1.51.0
DEBUG 2020-02-17 11:33:51.481285 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:51.540453 +01:00 < HTTP/1.1 200 OK
DEBUG 2020-02-17 11:33:51.540516 +01:00 < Server: nginx
DEBUG 2020-02-17 11:33:51.540540 +01:00 < Date: Mon, 17 Feb 2020 10:33:51 GMT
DEBUG 2020-02-17 11:33:51.540563 +01:00 < Content-Type: application/json
DEBUG 2020-02-17 11:33:51.540606 +01:00 < Content-Length: 221
DEBUG 2020-02-17 11:33:51.540626 +01:00 < Connection: keep-alive
DEBUG 2020-02-17 11:33:51.540642 +01:00 < X-XSS-Protection: 1; mode=block
DEBUG 2020-02-17 11:33:51.540658 +01:00 < Content-Language: en
DEBUG 2020-02-17 11:33:51.540674 +01:00 < X-Content-Type-Options: nosniff
DEBUG 2020-02-17 11:33:51.540691 +01:00 < Vary: Accept-Language, Cookie
DEBUG 2020-02-17 11:33:51.540706 +01:00 < Allow: GET, POST, HEAD, OPTIONS
DEBUG 2020-02-17 11:33:51.540722 +01:00 < X-Frame-Options: deny
DEBUG 2020-02-17 11:33:51.540738 +01:00 < Cache-Control: no-cache
DEBUG 2020-02-17 11:33:51.540804 +01:00 response status: 200
DEBUG 2020-02-17 11:33:51.540827 +01:00 body: {"maxFileSize": 2147483648, "hashAlgorithm": "sha1", "concurrency": 4, "chunkSize": 8388608, "maxRequestSize": 33554432, "url": "/api/0/organizations/sentry/chunk-upload/", "chunksPerRequest": 64, "compression": ["gzip"]}
DEBUG 2020-02-17 11:33:51.542449 +01:00 searching location /Users/me/Downloads/dysms
DEBUG 2020-02-17 11:33:51.542873 +01:00 searching zip archive /Users/me/Downloads/dysms/myProject.dsym.zip
DEBUG 2020-02-17 11:33:53.723583 +01:00 trying to parse dif myProject.dsym
DEBUG 2020-02-17 11:33:53.723623 +01:00 Ctx: Ctx { container: Big, le: Little } (from goblin)
DEBUG 2020-02-17 11:33:53.723650 +01:00 Mach-o header: Header { magic: 0xfeedfacf, cputype: 16777223, cpusubtype: 0x3, filetype: "DSYM", ncmds: 7, sizeofcmds: 3288, flags: 0x0, reserved: 0x0 } (from goblin)
DEBUG 2020-02-17 11:33:53.723675 +01:00 0 - LoadCommand { offset: 32, command: Uuid(UuidCommand { cmd: 27, cmdsize: 24, uuid: [22, 63, 90, 126, 54, 113, 52, 180, 143, 220, 186, 184, 252, 6, 193, 204] }) } (from goblin)
DEBUG 2020-02-17 11:33:53.723701 +01:00 1 - LoadCommand { offset: 56, command: Symtab(SymtabCommand { cmd: 2, cmdsize: 24, symoff: 4096, nsyms: 81654, stroff: 1310560, strsize: 11577294 }) } (from goblin)
DEBUG 2020-02-17 11:33:53.723719 +01:00 2 - LoadCommand { offset: 80, command: Segment64(SegmentCommand64 { cmd: 25, cmdsize: 72, segname: [95, 95, 80, 65, 71, 69, 90, 69, 82, 79, 0, 0, 0, 0, 0, 0], vmaddr: 0, vmsize: 4294967296, fileoff: 0, filesize: 0, maxprot: 0, initprot: 0, nsects: 0, flags: 0 }) } (from goblin)
DEBUG 2020-02-17 11:33:53.723737 +01:00 3 - LoadCommand { offset: 152, command: Segment64(SegmentCommand64 { cmd: 25, cmdsize: 792, segname: [95, 95, 84, 69, 88, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], vmaddr: 4294967296, vmsize: 18845696, fileoff: 0, filesize: 0, maxprot: 7, initprot: 5, nsects: 9, flags: 0 }) } (from goblin)
DEBUG 2020-02-17 11:33:53.723754 +01:00 4 - LoadCommand { offset: 944, command: Segment64(SegmentCommand64 { cmd: 25, cmdsize: 1192, segname: [95, 95, 68, 65, 84, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], vmaddr: 4313812992, vmsize: 704512, fileoff: 0, filesize: 0, maxprot: 7, initprot: 3, nsects: 14, flags: 0 }) } (from goblin)
DEBUG 2020-02-17 11:33:53.723769 +01:00 5 - LoadCommand { offset: 2136, command: Segment64(SegmentCommand64 { cmd: 25, cmdsize: 72, segname: [95, 95, 76, 73, 78, 75, 69, 68, 73, 84, 0, 0, 0, 0, 0, 0], vmaddr: 4314517504, vmsize: 12886016, fileoff: 4096, filesize: 12883758, maxprot: 7, initprot: 1, nsects: 0, flags: 0 }) } (from goblin)
DEBUG 2020-02-17 11:33:53.723785 +01:00 6 - LoadCommand { offset: 2208, command: Segment64(SegmentCommand64 { cmd: 25, cmdsize: 1112, segname: [95, 95, 68, 87, 65, 82, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0], vmaddr: 4327403520, vmsize: 351641600, fileoff: 12890112, filesize: 351641425, maxprot: 7, initprot: 3, nsects: 13, flags: 0 }) } (from goblin)
DEBUG 2020-02-17 11:33:53.724033 +01:00 finished zip archive /Users/me/Downloads/dysms/myProject.dsym.zip
DEBUG 2020-02-17 11:33:53.724065 +01:00 finished location /Users/me/Downloads/dysms
> Found 1 debug information file
> Prepared debug information file for upload
DEBUG 2020-02-17 11:33:54.939143 +01:00 request POST https://sentry.backend.dev.myProject.otc/api/0/projects/sentry/myProject-desktop-client/files/difs/assemble/
DEBUG 2020-02-17 11:33:54.939178 +01:00 using token authentication
DEBUG 2020-02-17 11:33:54.939235 +01:00 json body: {"5c2d1b5d8becf81d382f4ae20d3b05128ad5400a":{"name":"myProject.dsym","chunks":["<some chunk IDs>"]}}
DEBUG 2020-02-17 11:33:54.939392 +01:00 retry number 0, max retries: 5
DEBUG 2020-02-17 11:33:54.939533 +01:00 > POST /api/0/projects/sentry/myProject-desktop-client/files/difs/assemble/ HTTP/1.1
DEBUG 2020-02-17 11:33:54.939560 +01:00 > Host: sentry.backend.dev.myProject.otc
DEBUG 2020-02-17 11:33:54.939565 +01:00 > Accept: */*
DEBUG 2020-02-17 11:33:54.939570 +01:00 > Connection: TE
DEBUG 2020-02-17 11:33:54.939574 +01:00 > TE: gzip
DEBUG 2020-02-17 11:33:54.939596 +01:00 > User-Agent: sentry-cli/1.51.0
DEBUG 2020-02-17 11:33:54.939660 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:54.939686 +01:00 > Content-Type: application/json
DEBUG 2020-02-17 11:33:54.939707 +01:00 > Content-Length: 1970
DEBUG 2020-02-17 11:33:55.009286 +01:00 < HTTP/1.1 200 OK
DEBUG 2020-02-17 11:33:55.009349 +01:00 < Server: nginx
DEBUG 2020-02-17 11:33:55.009373 +01:00 < Date: Mon, 17 Feb 2020 10:33:55 GMT
DEBUG 2020-02-17 11:33:55.009394 +01:00 < Content-Type: application/json
DEBUG 2020-02-17 11:33:55.009413 +01:00 < Content-Length: 2023
DEBUG 2020-02-17 11:33:55.009433 +01:00 < Connection: keep-alive
DEBUG 2020-02-17 11:33:55.009450 +01:00 < X-XSS-Protection: 1; mode=block
DEBUG 2020-02-17 11:33:55.009467 +01:00 < Content-Language: en
DEBUG 2020-02-17 11:33:55.009483 +01:00 < X-Content-Type-Options: nosniff
DEBUG 2020-02-17 11:33:55.009500 +01:00 < Vary: Accept-Language, Cookie
DEBUG 2020-02-17 11:33:55.009516 +01:00 < Allow: POST, OPTIONS
DEBUG 2020-02-17 11:33:55.009532 +01:00 < X-Frame-Options: deny
DEBUG 2020-02-17 11:33:55.009548 +01:00 < Cache-Control: no-cache
DEBUG 2020-02-17 11:33:55.009597 +01:00 response status: 200
DEBUG 2020-02-17 11:33:55.009624 +01:00 body: {"5c2d1b5d8becf81d382f4ae20d3b05128ad5400a": {"state": "not_found", "missingChunks": ["c256f1d62f3a719e0d89576795ba41b41f4d1e0a", "779b128e069c0c68d527a9b1377888523c39e9ea", "a3aac3056346ab74e552ea52867bb4bbf1774dc2", "55a52bd4d5030608826ab4a6f881731350e302c3", "a152d207deea881e18e13b06673075e713e607e2", "e00fd99dda03f88e08ea1691380946c759cd8f51", "34c89f0300fa7dbb752736f41d6794277ae3db86", "911125ef1e11e4420adb2707d82bd2e3e03d298f", "d47ef14534c2acbe9950a31d9c58f8d22e778f29", "5e3e35c234741c86a309e1a69eec9c8646314519", "50357280554ba5a85400b051c0661f132a58a03f", "5930c319104e3b8e94ae56a2c967f823e67b977b", "e32640b57872d81cd1fa8e2fafb5d09c2caf6222", "26b5f9b6104541a68b7b0625387d0fe27f33504d", "723a64f88b2d260aa57198a2e1f56e88d98e92ef", "aa73e8836deec185af635b6851b8d616edace45f", "ed2cc8a01104dd65dde59f6df7391f258020b373", "7a4a73dca6c612e3cb7b092e51583151e02ec0a3", "661db53dd0d8de438ae13beddbde26d84051309f", "87e298109a00b11f6ba712ad4ade9b7226245df1", "5c211075e1262dc8a52cdbbbd928f5b35fc90bd2", "9c5313e29ff6c24113fcf4add1dfb547a3472c7c", "2dae2bf6c785b9917b7df28112f80d116280eeec", "a41b899da49b4095154adb945280c349f30d5bd9", "cd8366124036941ab26bb94de3a7d0a82dd103f7", "39424637807d381c29fe29dfb95c347342286bac", "edddfdbdb892cf266614772a4c9a6b5361aea88b", "5718076685eb7e9c9782e78a06db341b03b65941", "4a5305942d7e324f5f3422a806988425900bbfd2", "bdb83eb44ea47f26f938bbf306f76303f2afd5d0", "9b9c6feb450151494bcb265a2c7522a7fb2bb819", "dde3d4130f87d5baad12ccf5ec1b7f63528f7a13", "8c4050c414e102764ee55fe0c7e854430ea6eb30", "017b529b65a81dd07a6d7ea57d5a881aa907770d", "522dbede96ec0aa189c07a45cf3fc288ae7e9651", "a831dbde057b3ffa69174a69900284974807ee12", "c295f6b879b4a592fbf57e165313e77f1c780e62", "42d85251354ccf98673568904bc5144273134b4a", "23204d09b5807238ccf87c840c59ba6008be8fa3", "1ec350250eb2d516d953542b26f25b78444c082f", "b609781a167f1497ebd1b8aa6c5902a4e85a5e6c", "3dddf640f8f9b5bc3245461f4b9d7ddbd0d198e9", "1ae4a4c9343669b225fa2e78abf6bb5b8bbfbe7d", "8ff80cd74e6173cf0c010be8294053a8adce0637"]}}
INFO 2020-02-17 11:33:55.010042 +01:00 using 'gzip' compression for chunk upload
DEBUG 2020-02-17 11:33:55.402541 +01:00 request POST https://sentry.backend.dev.myProject.otc/api/0/api/0/organizations/sentry/chunk-upload/
DEBUG 2020-02-17 11:33:55.402678 +01:00 using token authentication
DEBUG 2020-02-17 11:33:55.402708 +01:00 sending form data
DEBUG 2020-02-17 11:33:55.402734 +01:00 using token authentication
DEBUG 2020-02-17 11:33:55.402845 +01:00 retry number 0, max retries: 5
DEBUG 2020-02-17 11:33:55.404056 +01:00 > POST /api/0/api/0/organizations/sentry/chunk-upload/ HTTP/1.1
DEBUG 2020-02-17 11:33:55.404099 +01:00 > Host: sentry.backend.dev.myProject.otc
DEBUG 2020-02-17 11:33:55.404123 +01:00 > Accept: */*
DEBUG 2020-02-17 11:33:55.404143 +01:00 > Connection: TE
DEBUG 2020-02-17 11:33:55.404193 +01:00 > TE: gzip
DEBUG 2020-02-17 11:33:55.404315 +01:00 > User-Agent: sentry-cli/1.51.0
DEBUG 2020-02-17 11:33:55.404866 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:55.404911 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:55.404936 +01:00 > Content-Length: 2481214
DEBUG 2020-02-17 11:33:55.404972 +01:00 > Content-Type: multipart/form-data; boundary=------------------------7f98b35be8e792a4
DEBUG 2020-02-17 11:33:55.431026 +01:00 < HTTP/1.1 400 Bad Request
DEBUG 2020-02-17 11:33:55.431084 +01:00 < Server: nginx
DEBUG 2020-02-17 11:33:55.431124 +01:00 < Date: Mon, 17 Feb 2020 10:33:55 GMT
DEBUG 2020-02-17 11:33:55.431182 +01:00 < Content-Type: text/html
DEBUG 2020-02-17 11:33:55.431238 +01:00 < Transfer-Encoding: chunked
DEBUG 2020-02-17 11:33:55.431368 +01:00 < Connection: close
DEBUG 2020-02-17 11:33:55.431761 +01:00 response status: 400
DEBUG 2020-02-17 11:33:55.431814 +01:00 body:
<Custom nginx error page>
DEBUG 2020-02-17 11:33:55.671750 +01:00 request POST https://sentry.backend.dev.myProject.otc/api/0/api/0/organizations/sentry/chunk-upload/
DEBUG 2020-02-17 11:33:55.671935 +01:00 using token authentication
DEBUG 2020-02-17 11:33:55.671964 +01:00 sending form data
DEBUG 2020-02-17 11:33:55.672147 +01:00 using token authentication
DEBUG 2020-02-17 11:33:55.672189 +01:00 retry number 0, max retries: 5
DEBUG 2020-02-17 11:33:55.692125 +01:00 request POST https://sentry.backend.dev.myProject.otc/api/0/api/0/organizations/sentry/chunk-upload/
DEBUG 2020-02-17 11:33:55.692269 +01:00 using token authentication
DEBUG 2020-02-17 11:33:55.692315 +01:00 sending form data
DEBUG 2020-02-17 11:33:55.692337 +01:00 using token authentication
DEBUG 2020-02-17 11:33:55.692450 +01:00 retry number 0, max retries: 5
DEBUG 2020-02-17 11:33:55.834147 +01:00 > POST /api/0/api/0/organizations/sentry/chunk-upload/ HTTP/1.1
DEBUG 2020-02-17 11:33:55.834217 +01:00 > Host: sentry.backend.dev.myProject.otc
DEBUG 2020-02-17 11:33:55.834275 +01:00 > Accept: */*
DEBUG 2020-02-17 11:33:55.834299 +01:00 > Connection: TE
DEBUG 2020-02-17 11:33:55.834413 +01:00 > TE: gzip
DEBUG 2020-02-17 11:33:55.834462 +01:00 > User-Agent: sentry-cli/1.51.0
DEBUG 2020-02-17 11:33:55.835046 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:55.835084 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:55.835176 +01:00 > Content-Length: 3002857
DEBUG 2020-02-17 11:33:55.835198 +01:00 > Content-Type: multipart/form-data; boundary=------------------------619c04b97237804d
DEBUG 2020-02-17 11:33:55.856360 +01:00 > POST /api/0/api/0/organizations/sentry/chunk-upload/ HTTP/1.1
DEBUG 2020-02-17 11:33:55.856429 +01:00 > Host: sentry.backend.dev.myProject.otc
DEBUG 2020-02-17 11:33:55.856482 +01:00 > Accept: */*
DEBUG 2020-02-17 11:33:55.856505 +01:00 > Connection: TE
DEBUG 2020-02-17 11:33:55.856616 +01:00 > TE: gzip
DEBUG 2020-02-17 11:33:55.856665 +01:00 > User-Agent: sentry-cli/1.51.0
DEBUG 2020-02-17 11:33:55.857294 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:55.857334 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:55.857377 +01:00 > Content-Length: 4939155
DEBUG 2020-02-17 11:33:55.857397 +01:00 > Content-Type: multipart/form-data; boundary=------------------------327f14b07f6732ff
DEBUG 2020-02-17 11:33:55.860885 +01:00 < HTTP/1.1 400 Bad Request
DEBUG 2020-02-17 11:33:55.860925 +01:00 < Server: nginx
DEBUG 2020-02-17 11:33:55.861053 +01:00 < Date: Mon, 17 Feb 2020 10:33:55 GMT
DEBUG 2020-02-17 11:33:55.861128 +01:00 < Content-Type: text/html
DEBUG 2020-02-17 11:33:55.861241 +01:00 < Transfer-Encoding: chunked
DEBUG 2020-02-17 11:33:55.861305 +01:00 < Connection: close
DEBUG 2020-02-17 11:33:55.861492 +01:00 response status: 400
DEBUG 2020-02-17 11:33:55.861557 +01:00 body:
<Custom nginx error page>
DEBUG 2020-02-17 11:33:55.883125 +01:00 < HTTP/1.1 400 Bad Request
DEBUG 2020-02-17 11:33:55.883187 +01:00 < Server: nginx
DEBUG 2020-02-17 11:33:55.883290 +01:00 < Date: Mon, 17 Feb 2020 10:33:55 GMT
DEBUG 2020-02-17 11:33:55.883326 +01:00 < Content-Type: text/html
DEBUG 2020-02-17 11:33:55.883557 +01:00 < Transfer-Encoding: chunked
DEBUG 2020-02-17 11:33:55.883644 +01:00 < Connection: close
DEBUG 2020-02-17 11:33:55.884147 +01:00 response status: 400
DEBUG 2020-02-17 11:33:55.884196 +01:00 body:
<Custom nginx error page>
DEBUG 2020-02-17 11:33:56.528907 +01:00 request POST https://sentry.backend.dev.myProject.otc/api/0/api/0/organizations/sentry/chunk-upload/
DEBUG 2020-02-17 11:33:56.529072 +01:00 using token authentication
DEBUG 2020-02-17 11:33:56.529159 +01:00 sending form data
DEBUG 2020-02-17 11:33:56.529689 +01:00 using token authentication
DEBUG 2020-02-17 11:33:56.529720 +01:00 retry number 0, max retries: 5
DEBUG 2020-02-17 11:33:56.712409 +01:00 > POST /api/0/api/0/organizations/sentry/chunk-upload/ HTTP/1.1
DEBUG 2020-02-17 11:33:56.712490 +01:00 > Host: sentry.backend.dev.myProject.otc
DEBUG 2020-02-17 11:33:56.712555 +01:00 > Accept: */*
DEBUG 2020-02-17 11:33:56.712589 +01:00 > Connection: TE
DEBUG 2020-02-17 11:33:56.712669 +01:00 > TE: gzip
DEBUG 2020-02-17 11:33:56.712737 +01:00 > User-Agent: sentry-cli/1.51.0
DEBUG 2020-02-17 11:33:56.713367 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:56.713426 +01:00 > Authorization: Bearer f0c07cb7***
DEBUG 2020-02-17 11:33:56.713458 +01:00 > Content-Length: 12542551
DEBUG 2020-02-17 11:33:56.713529 +01:00 > Content-Type: multipart/form-data; boundary=------------------------2d90667ba4a9ae2f
DEBUG 2020-02-17 11:33:56.739074 +01:00 < HTTP/1.1 400 Bad Request
DEBUG 2020-02-17 11:33:56.739149 +01:00 < Server: nginx
DEBUG 2020-02-17 11:33:56.739204 +01:00 < Date: Mon, 17 Feb 2020 10:33:56 GMT
DEBUG 2020-02-17 11:33:56.739288 +01:00 < Content-Type: text/html
DEBUG 2020-02-17 11:33:56.739327 +01:00 < Transfer-Encoding: chunked
DEBUG 2020-02-17 11:33:56.739535 +01:00 < Connection: close
DEBUG 2020-02-17 11:33:56.741044 +01:00 response status: 400
DEBUG 2020-02-17 11:33:56.741100 +01:00 body:
<Custom nginx error page>
DEBUG 2020-02-17 11:33:56.777557 +01:00 error: running update nagger
INFO 2020-02-17 11:33:56.777867 +01:00 Skipping update nagger update check
error: API request failed
caused by: sentry reported an error: bad request (http status: 400)
DEBUG 2020-02-17 11:33:56.778464 +01:00 client close; no transport to shut down (from sentry)
I can't seem to be able to reproduce this issue in any reliable way. Not a single way I tried to perform a request produced multiple Authorization header. Is there a chance you were able to do that?
Sadly, I still don't know why the duplicated header should occur.
It only happens with our on-premise setup of Sentry. I don't see any problems when pushing something to sentry.io ...
I'm not too familiar with Rust. The code part that looked like it could cause this behaviour the most to me was this one: https://github.com/getsentry/sentry-cli/blob/399eb44cb14f85229ca7ee75dc430340123e29e9/src/api.rs#L1052-L1059
Is it possible that, for some reason, Self::request() _did_ add an authorization header and this code adds another one? What does a "sentry-compatible" endpoint imply?
@Tymolc I investigated it, and apparently when some requests are not sent through http/https, they can get authenticated, however from what I see, your requests are all done through https. I'll try to find some more time to get this request flow ironed-out, and it should help fix this issue.
Most helpful comment
@Tymolc I investigated it, and apparently when some requests are not sent through http/https, they can get authenticated, however from what I see, your requests are all done through https. I'll try to find some more time to get this request flow ironed-out, and it should help fix this issue.