Skip to content

Commit 5fc1c6c

Browse files
committed
Propagate format when redirecting
.. so that ?format=json works in browsers Fixes #166.
1 parent 6ddfcee commit 5fc1c6c

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/main/java/org/commonwl/view/workflow/WorkflowPermalinkController.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,22 @@ public String uriList(@PathVariable("commitid") String commitId,
8989
MediaType.APPLICATION_JSON_VALUE,
9090
MediaType.APPLICATION_JSON_UTF8_VALUE})
9191
public void goToViewer(@PathVariable("commitid") String commitId,
92+
@RequestParam(name = "part") Optional<String> part,
93+
@RequestParam(name = "format") Optional<String> format,
9294
HttpServletRequest request,
9395
HttpServletResponse response) {
94-
Workflow workflow = getWorkflow(commitId, request);
95-
response.setHeader("Location", workflow.getRetrievedFrom().getInternalUrl(commitId));
96+
String location;
97+
Workflow workflow = getWorkflow(commitId, request, part);
98+
location = workflow.getRetrievedFrom().getInternalUrl(commitId) + format.map(f -> "?format=" + f).orElse("");
99+
response.setHeader("Location", location);
96100
response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
97101
}
98102

99103
/**
100104
* Redirect to the raw file if this exists
101-
* @param commitId The commit ID of the workflow
105+
*
106+
* @param commitId
107+
* The commit ID of the workflow
102108
* @return A 302 redirect response to the raw URL or 406
103109
*/
104110
@GetMapping(value = "/git/{commitid}/**",

0 commit comments

Comments
 (0)