[ 
https://issues.apache.org/jira/browse/SLING-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated SLING-1629:
-----------------------------------------

    Attachment: SLING-1629.patch

Patch adding the two externalize() methods, including javadocs and a unit test.

Apart from whether this makes sense at all, there are some questions probably:
- detail of javadocs ok?
- are two methods ok? or only add the one with the new feature: 
externalize(scheme,path)?
  (as noted, the other one is shorter than the identical map call, thus still 
useful)
- changes sling api (but could be included in upcoming release)

> Add methods for externalizing links to SlingHttpServletRequest
> --------------------------------------------------------------
>
>                 Key: SLING-1629
>                 URL: https://issues.apache.org/jira/browse/SLING-1629
>             Project: Sling
>          Issue Type: New Feature
>          Components: API, Engine
>            Reporter: Alexander Klimetschek
>            Priority: Minor
>         Attachments: SLING-1629.patch
>
>
> When creating links in responses there are two cases:
> 1) create it for use by the browser: URLs relative to the current request
> 2) link used by external apps: absolute URL including hostname etc.
> For 1), you can already use ResourceResolver.map(request, path) (important to 
> use the request-based here).
> For 2), when you explicitly want absolute URLs (eg. for rss feeds, links in 
> emails, etc.), the ResourceResolver map methods will only add a host/port if 
> such a configuration is part of /etc/map. There is no default to use the 
> host/port from the current request.
> In order to provide convenient short access to those features, an externalize 
> method on the sling request object is better for both cases:
> case 1) relative url
>     slingRequest.externalize("/my/path")
> same as slingRequest.getResourceResolver().map(slingRequest, "/my/path"))
> case 2) absolute url
>     slingRequest.externalize("http", "/my/path")
> produces e.g. http://localhost:8080/my/path

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to