Skip to content

Commit 557d396

Browse files
author
Pooja Adhikari
committed
Updated document based on suggestions.
1 parent 5a67e78 commit 557d396

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

articles/healthcare-apis/dicom/dicom-proxy-url-support.md

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,47 +10,43 @@ ms.author: buchvarun
1010
---
1111

1212
# What is URL manipulation
13-
URL manipulation allows customizing URL of the image location that is in response object.
13+
Using URL manipulation allows you to customize the URL of the image location that is in the response object.
1414

15-
DICOM service returns the fully qualified URL of the image location in response object under DICOM tag (UR) in the response object of following API operations:
15+
For the following API operations the DICOM service returns the fully qualified URL of the image location in the response object, under a DICOM tag (UR) in the response object.
1616
1. Retrieve Instance
1717
2. Retrieve WorkItems
1818
3. Retrieve OperationStatus
1919
4. Resolve QueryTag
2020
5. Resolve QueryTagError
2121

22-
An example of fully qualified image location of URL in the standard response for a STOW operation for a DICOM service that has data partition enabled with partition name "foo" is as below:
22+
The following is an example of a fully qualified image location URL. This could be found in the standard response for a STOW operation for a DICOM service that has data partition enabled, with partition name "foo".
2323

2424
`https://localhost:63838/v2/partitions/foo/studies/1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420/series/1.2.826.0.1.3680043.8.498.77033797676425927098669402985243398207/instances/1.2.826.0.1.3680043.8.498.13273713909719068980354078852867170114`
2525

26-
To breakdown the structure of the above URL, it consists of following three parts:
26+
The preceding URL consists of three parts:
2727
1. hostname -> `https://localhost:63838` (the hostname of DICOM service)
28-
2. path -> `v2/partitions/foo` (path that represents the version of DICOM service being used and the datapartition name if it enabled)
29-
3. DICOM web standard path -> `studies/1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420/series/1.2.826.0.1.3680043.8.498.77033797676425927098669402985243398207/instances/1.2.826.0.1.3680043.8.498.13273713909719068980354078852867170114`
28+
2. path -> `v2/partitions/foo` (the path that represents the version of DICOM service being used and the datapartition name, if enabled)
29+
3. The DICOM web standard path -> `studies/1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420/series/1.2.826.0.1.3680043.8.498.77033797676425927098669402985243398207/instances/1.2.826.0.1.3680043.8.498.13273713909719068980354078852867170114`
3030

31-
This feature will allow to customize the path of the image URL, if directed by client based on the request headers they have provided.
31+
This feature allows you to customize the path of the image URL, if directed by the client, based on the request headers provided.
3232

3333
# How it works
34-
The modified URL will be based on following two headers:
35-
1. X-Forwarded-Host: This represents the domain name of the original host (the one the client requested before the proxy or load balancer handled the request). Example: `X-Forwarded-Host: www.example.com`
36-
37-
2. X-Forwarded-Prefix: This represents the original URL path or prefix that was part of the client’s request before the proxy forwarded or changed the request.
38-
Example:
39-
`X-Forwarded-Prefix: /prefix`
34+
The modified URL will be based on following two headers.
35+
1. X-Forwarded-Host: The domain name of the original host (the one the client requested before the proxy or load balancer handled the request). For example: `X-Forwarded-Host: www.example.com`
4036

37+
2. X-Forwarded-Prefix: the original URL path or prefix that was part of the client’s request before the proxy forwarded or changed the request. For example: `X-Forwarded-Prefix: /prefix`
4138

4239
These headers are a part of [.net core standard forwarded headers](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-8.0#forwarded-headers).
4340

44-
If x-forwarded-host header is present in the request object, it would replace the host name with the value provided.
41+
If `x-forwarded-host` header is present in the request object, it replaces the host name with the value provided.
4542

46-
if x-forwarded-prefix header is present in the request object, it would replace the path with the value provided.
43+
If `x-forwarded-prefix` header is present in the request object, it replaces the path with the value provided.
4744

48-
# List of API that can use forwarded headers for URL manipulation
45+
# List of API's that can use forwarded headers for URL manipulation
4946

5047
### STOW, WADO, worklist, operation status, querytag and querytagerror APIs
5148

52-
Details of a request header for a STOW operation with the forwarded headers:
53-
49+
Here are the details of a request header for a STOW operation with the forwarded headers:
5450
* Path: ../studies/{study}
5551
* Method: POST
5652
* Headers:
@@ -63,13 +59,15 @@ Details of a request header for a STOW operation with the forwarded headers:
6359
* Content-Type: application/DICOM for each file uploaded, separated by a boundary value
6460

6561
## Example:
66-
### Value of DICOM tag with VR = UR for a STOW operation when the above headers are not provided:
62+
The following is an example of a DICOM tag with VR = UR for a STOW operation when the above headers are not provided:
63+
6764
`https://localhost:63838/v2/partitions/foo/studies/1.2.826.0.1.3680043.8.498.13230779778012324449356534479549187420/series/1.2.826.0.1.3680043.8.498.77033797676425927098669402985243398207/instances/1.2.826.0.1.3680043.8.498.13273713909719068980354078852867170114`
6865

69-
### Value of DICOM tag with VR = UR for a STOW operation when the above headers are provided:
66+
67+
The following is an example of a DICOM tag with VR = UR for a STOW operation when the above headers are provided:
7068

7169
Sample Request object:
72-
* Path: https://localhost:63838/v2/partitions/foo/studies/studies/{study}
70+
* Path: https://localhost:63838/v2/partitions/foo/studies/studies/{study}
7371
* Method: POST
7472
* Headers:
7573
* Accept: application/DICOM+json
@@ -86,8 +84,8 @@ URL of image:
8684

8785

8886
# Things to remember
89-
1. Forwarded headers do not have to be used together. If there is a need to just replace hostname and not path, only forwarded host header can be used. Similarly, if there is a need to just replace path, only forwared prefix header can be used.
87+
1. Forwarded headers do not have to be used together. If there is a need to, simply replace hostname and not path. Only the forwarded host header can be used. Similarly, if there is a need to replace the path, only the forwarded prefix header can be used.
9088

91-
2. Client is responsible for mapping the hostname and path provided in forwarded headers with correct DICOM service hostname and pathbase.
89+
2. The client is responsible for mapping the hostname and path provided in forwarded headers to the correct DICOM service hostname and pathbase.
9290

9391
[!INCLUDE [DICOM trademark statement](../includes/healthcare-APIs-DICOM-trademark.md)]

0 commit comments

Comments
 (0)