Skip to content

Commit

Permalink
marklogic-community#640: Support SJS with a language property
Browse files Browse the repository at this point in the history
Add <uri-param name="language">sjs</uri-param> to your request
definition to make use of a SJS controller.
Issue marklogic-community#640.
  • Loading branch information
Preston McGowan committed Oct 19, 2016
1 parent 7707b01 commit cc69316
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/roxy/router.xqy
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,14 @@ import module namespace u = "http://marklogic.com/roxy/util" at "/roxy/lib/util.
declare option xdmp:mapping "false";

declare variable $controller as xs:QName := req:get("controller", "type=xs:QName");
declare variable $controller-path as xs:string := fn:concat("/app/controllers/", $controller, ".xqy");
declare variable $language as xs:string := req:get("language", "xqy", "type=xs:string");
declare variable $controller-path as xs:string := fn:concat("/app/controllers/", $controller, ".", $language);
declare variable $controller-ns as xs:string :=
if ($language eq "xqy") then
fn:concat("http://marklogic.com/roxy/controller/", $controller)
else
"";

declare variable $func as xs:string := req:get("func", "main", "type=xs:string");
declare variable $default-format :=
(
Expand All @@ -50,7 +57,7 @@ declare function router:route()
let $data :=
xdmp:apply(
xdmp:function(
fn:QName(fn:concat("http://marklogic.com/roxy/controller/", $controller), $func),
fn:QName($controller-ns, $func),
$controller-path))

(: Roxy options :)
Expand Down

0 comments on commit cc69316

Please sign in to comment.