@resolution/atlassian-api-common 0.15.3 → 0.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/fetch/index.js +47 -0
- package/lib/fetch/index.js.map +1 -1
- package/package.json +2 -2
package/lib/fetch/index.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.createAsUserMethod = exports.createAsAppMethod = exports.getCommonApiClientOptions = exports.formatHttpErrorMessage = void 0;
|
|
4
13
|
const ApiError_1 = require("../ApiError");
|
|
@@ -62,10 +71,48 @@ function formatHttpErrorMessage(response, request) {
|
|
|
62
71
|
return `HTTP Error ${request.method} ${url.pathname} ${response.status} (${response.statusText})${additionalDetails}`;
|
|
63
72
|
}
|
|
64
73
|
exports.formatHttpErrorMessage = formatHttpErrorMessage;
|
|
74
|
+
const followRedirects = ({ response }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
+
try {
|
|
76
|
+
const redirectUrl = new URL(response.headers["location"], response.url);
|
|
77
|
+
const responseUrl = new URL(response.url);
|
|
78
|
+
// Make a redirect including authentication if it's a call to Atlassian API.
|
|
79
|
+
// Checking by comparing response host and redirect host.
|
|
80
|
+
// If placeholder host is returned, check for known API paths.
|
|
81
|
+
if (
|
|
82
|
+
// If host is the same, we are allowed to include authentication.
|
|
83
|
+
redirectUrl.host === responseUrl.host ||
|
|
84
|
+
// This host placeholder is currently returned by AP implementation
|
|
85
|
+
(responseUrl.host === "your-domain.atlassian.net" &&
|
|
86
|
+
// Jira Platform
|
|
87
|
+
(redirectUrl.pathname.startsWith("/rest/api/") ||
|
|
88
|
+
// Jira Software
|
|
89
|
+
redirectUrl.pathname.startsWith("/rest/agile/") ||
|
|
90
|
+
// Jira Service Management
|
|
91
|
+
redirectUrl.pathname.startsWith("/rest/servicedeskapi/") ||
|
|
92
|
+
// Confluence V1
|
|
93
|
+
redirectUrl.pathname.startsWith("/wiki/rest/") ||
|
|
94
|
+
// Confluence V2
|
|
95
|
+
redirectUrl.pathname.startsWith("/wiki/api/"))) ||
|
|
96
|
+
// Dedicated API host.
|
|
97
|
+
redirectUrl.host === "api.atlassian.com") {
|
|
98
|
+
return { type: "redirect" };
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// For redirects to static resources or other domains do not include authentication.
|
|
102
|
+
return { type: "externalRedirect" };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (e) {
|
|
106
|
+
return {
|
|
107
|
+
type: "error",
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
});
|
|
65
111
|
function getCommonApiClientOptions(options, productName) {
|
|
66
112
|
const result = {
|
|
67
113
|
fetch: getFetchByOptions(options, productName),
|
|
68
114
|
formatHttpErrorMessage,
|
|
115
|
+
followRedirects,
|
|
69
116
|
errorClass: ApiError_1.ApiError,
|
|
70
117
|
};
|
|
71
118
|
if ("baseUrl" in options && options.baseUrl !== undefined) {
|
package/lib/fetch/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetch/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@resolution/atlassian-api-common",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.4",
|
|
4
4
|
"description": "Shared code across different implementations of Atlassian API Clients.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "2df6cf56c69011a3b61d7b63fff3d1c1a67acd18"
|
|
47
47
|
}
|