@haste-health/client 0.126.21 → 0.126.23
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/http/index.js +30 -7
- package/lib/http/index.js.map +1 -1
- package/package.json +4 -4
- package/src/http/index.ts +43 -8
package/lib/http/index.js
CHANGED
|
@@ -15,18 +15,40 @@ function parametersToQueryString(parameters) {
|
|
|
15
15
|
function querySuffix(queryString) {
|
|
16
16
|
return queryString ? `?${queryString}` : "";
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* The FHIR root a request is resolved against, always ending in `/`.
|
|
20
|
+
*
|
|
21
|
+
* A string base URL is the FHIR root and is used as given. The FHIR version
|
|
22
|
+
* belongs to the project, so it is not appended to the path; pass a function
|
|
23
|
+
* if a deployment needs the URL to vary by version.
|
|
24
|
+
*/
|
|
25
|
+
function fhirBaseUrl(state, fhirVersion) {
|
|
26
|
+
const FHIRUrl = typeof state.url === "string" ? state.url : state.url(fhirVersion);
|
|
27
|
+
return FHIRUrl.endsWith("/") ? FHIRUrl : FHIRUrl + "/";
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Refuses a request URL that resolves outside the FHIR root.
|
|
31
|
+
*
|
|
32
|
+
* Resource types and ids are joined into the URL as given, and callers often
|
|
33
|
+
* take them from a browser route that has already been percent-decoded. A
|
|
34
|
+
* value such as `//other.example/x` would make `new URL` resolve to another
|
|
35
|
+
* origin, and `../` (or `%2e%2e`) segments would climb out of the FHIR path,
|
|
36
|
+
* either way sending the bearer token somewhere it was not issued for.
|
|
37
|
+
*/
|
|
38
|
+
function assertWithinBase(url, base) {
|
|
39
|
+
const target = new URL(url);
|
|
40
|
+
const root = new URL(base);
|
|
41
|
+
if (target.origin !== root.origin ||
|
|
42
|
+
!target.pathname.startsWith(root.pathname)) {
|
|
43
|
+
throw new OperationError(outcomeError("security", "Refused a request whose URL is outside the FHIR server's base URL"));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
18
46
|
async function toHTTPRequest(state, context, request) {
|
|
19
47
|
const headers = {
|
|
20
48
|
"Content-Type": "application/fhir+json",
|
|
21
49
|
...context.headers,
|
|
22
50
|
};
|
|
23
|
-
|
|
24
|
-
// belongs to the project, so it is not appended to the path; pass a function
|
|
25
|
-
// if a deployment needs the URL to vary by version.
|
|
26
|
-
let FHIRUrl = typeof state.url === "string" ? state.url : state.url(request.fhirVersion);
|
|
27
|
-
if (!FHIRUrl.endsWith("/")) {
|
|
28
|
-
FHIRUrl = FHIRUrl + "/";
|
|
29
|
-
}
|
|
51
|
+
const FHIRUrl = fhirBaseUrl(state, request.fhirVersion);
|
|
30
52
|
if (state.getAccessToken) {
|
|
31
53
|
const token = await state.getAccessToken();
|
|
32
54
|
headers["Authorization"] = `Bearer ${token}`;
|
|
@@ -534,6 +556,7 @@ function httpMiddleware(state) {
|
|
|
534
556
|
async (state, context) => {
|
|
535
557
|
try {
|
|
536
558
|
const httpRequest = await toHTTPRequest(state, context.ctx, context.request);
|
|
559
|
+
assertWithinBase(httpRequest.url, fhirBaseUrl(state, context.request.fhirVersion));
|
|
537
560
|
const response = await fetch(httpRequest.url, {
|
|
538
561
|
method: httpRequest.method,
|
|
539
562
|
headers: httpRequest.headers,
|
package/lib/http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haste-health/client",
|
|
3
|
-
"version": "0.126.
|
|
3
|
+
"version": "0.126.23",
|
|
4
4
|
"homepage": "https://haste.health",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"jest": "^29.7.0",
|
|
28
28
|
"ts-jest": "^29.4.11",
|
|
29
29
|
"typescript": "6.0.3",
|
|
30
|
-
"@haste-health/fhir-types": "^0.126.
|
|
30
|
+
"@haste-health/fhir-types": "^0.126.23"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@haste-health/operation-execution": "^0.126.
|
|
34
|
-
"@haste-health/operation-outcomes": "^0.126.
|
|
33
|
+
"@haste-health/operation-execution": "^0.126.23",
|
|
34
|
+
"@haste-health/operation-outcomes": "^0.126.23"
|
|
35
35
|
},
|
|
36
36
|
"files": [
|
|
37
37
|
"lib/**",
|
package/src/http/index.ts
CHANGED
|
@@ -50,6 +50,44 @@ function querySuffix(queryString: string): string {
|
|
|
50
50
|
return queryString ? `?${queryString}` : "";
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
/**
|
|
54
|
+
* The FHIR root a request is resolved against, always ending in `/`.
|
|
55
|
+
*
|
|
56
|
+
* A string base URL is the FHIR root and is used as given. The FHIR version
|
|
57
|
+
* belongs to the project, so it is not appended to the path; pass a function
|
|
58
|
+
* if a deployment needs the URL to vary by version.
|
|
59
|
+
*/
|
|
60
|
+
function fhirBaseUrl(state: HTTPClientState, fhirVersion: FHIR_VERSION) {
|
|
61
|
+
const FHIRUrl =
|
|
62
|
+
typeof state.url === "string" ? state.url : state.url(fhirVersion);
|
|
63
|
+
return FHIRUrl.endsWith("/") ? FHIRUrl : FHIRUrl + "/";
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Refuses a request URL that resolves outside the FHIR root.
|
|
68
|
+
*
|
|
69
|
+
* Resource types and ids are joined into the URL as given, and callers often
|
|
70
|
+
* take them from a browser route that has already been percent-decoded. A
|
|
71
|
+
* value such as `//other.example/x` would make `new URL` resolve to another
|
|
72
|
+
* origin, and `../` (or `%2e%2e`) segments would climb out of the FHIR path,
|
|
73
|
+
* either way sending the bearer token somewhere it was not issued for.
|
|
74
|
+
*/
|
|
75
|
+
function assertWithinBase(url: string, base: string) {
|
|
76
|
+
const target = new URL(url);
|
|
77
|
+
const root = new URL(base);
|
|
78
|
+
if (
|
|
79
|
+
target.origin !== root.origin ||
|
|
80
|
+
!target.pathname.startsWith(root.pathname)
|
|
81
|
+
) {
|
|
82
|
+
throw new OperationError(
|
|
83
|
+
outcomeError(
|
|
84
|
+
"security",
|
|
85
|
+
"Refused a request whose URL is outside the FHIR server's base URL",
|
|
86
|
+
),
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
53
91
|
async function toHTTPRequest(
|
|
54
92
|
state: HTTPClientState,
|
|
55
93
|
context: HTTPContext,
|
|
@@ -65,14 +103,7 @@ async function toHTTPRequest(
|
|
|
65
103
|
...context.headers,
|
|
66
104
|
};
|
|
67
105
|
|
|
68
|
-
|
|
69
|
-
// belongs to the project, so it is not appended to the path; pass a function
|
|
70
|
-
// if a deployment needs the URL to vary by version.
|
|
71
|
-
let FHIRUrl =
|
|
72
|
-
typeof state.url === "string" ? state.url : state.url(request.fhirVersion);
|
|
73
|
-
if (!FHIRUrl.endsWith("/")) {
|
|
74
|
-
FHIRUrl = FHIRUrl + "/";
|
|
75
|
-
}
|
|
106
|
+
const FHIRUrl = fhirBaseUrl(state, request.fhirVersion);
|
|
76
107
|
|
|
77
108
|
if (state.getAccessToken) {
|
|
78
109
|
const token = await state.getAccessToken();
|
|
@@ -631,6 +662,10 @@ function httpMiddleware(state: HTTPClientState): MiddlewareAsync<HTTPContext> {
|
|
|
631
662
|
context.ctx,
|
|
632
663
|
context.request,
|
|
633
664
|
);
|
|
665
|
+
assertWithinBase(
|
|
666
|
+
httpRequest.url,
|
|
667
|
+
fhirBaseUrl(state, context.request.fhirVersion),
|
|
668
|
+
);
|
|
634
669
|
const response = await fetch(httpRequest.url, {
|
|
635
670
|
method: httpRequest.method,
|
|
636
671
|
headers: httpRequest.headers,
|