Author: buildbot
Date: Fri Jan 15 11:57:21 2016
New Revision: 977769
Log:
Staging update by buildbot for sling
Modified:
websites/staging/sling/trunk/content/ (props changed)
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html
Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jan 15 11:57:21 2016
@@ -1 +1 @@
-1724730
+1724783
Modified:
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html
==============================================================================
---
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html
(original)
+++
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html
Fri Jan 15 11:57:21 2016
@@ -121,8 +121,122 @@ like the <code>SlingRequestProcessor</co
an HTTP request processing context.</p>
<p>See the <a
href="https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/servlet-helpers">automated
tests</a>
of the <code>servlet-helpers</code> module for more info.</p>
+<h2 id="usage">Usage<a class="headerlink" href="#usage" title="Permanent
link">¶</a></h2>
+<h3 id="slinghttpservletrequest">SlingHttpServletRequest<a class="headerlink"
href="#slinghttpservletrequest" title="Permanent link">¶</a></h3>
+<p>Example for preparing a sling request with custom request data:</p>
+<table class="codehilitetable"><tr><td class="linenos"><div
class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31</pre></div></td><td class="code"><div class="codehilite"><pre><span
class="c1">// prepare sling request</span>
+<span class="n">MockSlingHttpServletRequest</span> <span
class="n">request</span> <span class="o">=</span> <span class="k">new</span>
<span class="n">MockSlingHttpServletRequest</span><span class="o">(</span><span
class="n">resourceResolver</span><span class="o">);</span>
+
+<span class="c1">// simulate query string</span>
+<span class="n">request</span><span class="o">.</span><span
class="na">setQueryString</span><span class="o">(</span><span
class="s">"param1=aaa&param2=bbb"</span><span class="o">);</span>
+
+<span class="c1">// alternative - set query parameters as map</span>
+<span class="n">request</span><span class="o">.</span><span
class="na">setParameterMap</span><span class="o">(</span><span
class="n">ImmutableMap</span><span class="o">.<</span><span
class="n">String</span><span class="o">,</span><span
class="n">Object</span><span class="o">></span><span
class="n">builder</span><span class="o">()</span>
+ <span class="o">.</span><span class="na">put</span><span
class="o">(</span><span class="s">"param1"</span><span
class="o">,</span> <span class="s">"aaa"</span><span
class="o">)</span>
+ <span class="o">.</span><span class="na">put</span><span
class="o">(</span><span class="s">"param2"</span><span
class="o">,</span> <span class="s">"bbb"</span><span
class="o">)</span>
+ <span class="o">.</span><span class="na">build</span><span
class="o">());</span>
+
+<span class="c1">// set current resource</span>
+<span class="n">request</span><span class="o">.</span><span
class="na">setResource</span><span class="o">(</span><span
class="n">resourceResolver</span><span class="o">.</span><span
class="na">getResource</span><span class="o">(</span><span
class="s">"/content/sample"</span><span class="o">));</span>
+
+<span class="c1">// set sling request path info properties</span>
+<span class="n">MockRequestPathInfo</span> <span
class="n">requestPathInfo</span> <span class="o">=</span> <span
class="o">(</span><span class="n">MockRequestPathInfo</span><span
class="o">)</span><span class="n">request</span><span class="o">.</span><span
class="na">getRequestPathInfo</span><span class="o">();</span>
+<span class="n">requestPathInfo</span><span class="o">.</span><span
class="na">setSelectorString</span><span class="o">(</span><span
class="s">"selector1.selector2"</span><span class="o">);</span>
+<span class="n">requestPathInfo</span><span class="o">.</span><span
class="na">setExtension</span><span class="o">(</span><span
class="s">"html"</span><span class="o">);</span>
+
+<span class="c1">// set method</span>
+<span class="n">request</span><span class="o">.</span><span
class="na">setMethod</span><span class="o">(</span><span
class="n">HttpConstants</span><span class="o">.</span><span
class="na">METHOD_POST</span><span class="o">);</span>
+
+<span class="c1">// set attributes</span>
+<span class="n">request</span><span class="o">.</span><span
class="na">setAttribute</span><span class="o">(</span><span
class="s">"attr1"</span><span class="o">,</span> <span
class="s">"value1"</span><span class="o">);</span>
+
+<span class="c1">// set headers</span>
+<span class="n">request</span><span class="o">.</span><span
class="na">addHeader</span><span class="o">(</span><span
class="s">"header1"</span><span class="o">,</span> <span
class="s">"value1"</span><span class="o">);</span>
+
+<span class="c1">// set cookies</span>
+<span class="n">request</span><span class="o">.</span><span
class="na">addCookie</span><span class="o">(</span><span class="k">new</span>
<span class="n">Cookie</span><span class="o">(</span><span
class="s">"cookie1"</span><span class="o">,</span> <span
class="s">"value1"</span><span class="o">));</span>
+</pre></div>
+</td></tr></table>
+
+<h3 id="slinghttpservletresponse">SlingHttpServletResponse<a
class="headerlink" href="#slinghttpservletresponse" title="Permanent
link">¶</a></h3>
+<p>Example for preparing a sling response which can collect the data that was
written to it:</p>
+<table class="codehilitetable"><tr><td class="linenos"><div
class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22</pre></div></td><td class="code"><div class="codehilite"><pre><span
class="c1">// prepare sling response</span>
+<span class="n">MockSlingHttpServletResponse</span> <span
class="n">response</span> <span class="o">=</span> <span class="k">new</span>
<span class="n">MockSlingHttpServletResponse</span><span class="o">();</span>
+
+<span class="c1">// execute the code that writes to the response...</span>
+
+<span class="c1">// validate status code</span>
+<span class="n">assertEquals</span><span class="o">(</span><span
class="n">HttpServletResponse</span><span class="o">.</span><span
class="na">SC_OK</span><span class="o">,</span> <span
class="n">response</span><span class="o">.</span><span
class="na">getStatus</span><span class="o">());</span>
+
+<span class="c1">// validate content type and content length</span>
+<span class="n">assertEquals</span><span class="o">(</span><span
class="s">"text/plain;charset=UTF-8"</span><span class="o">,</span>
<span class="n">response</span><span class="o">.</span><span
class="na">getContentType</span><span class="o">());</span>
+<span class="n">assertEquals</span><span class="o">(</span><span
class="n">CharEncoding</span><span class="o">.</span><span
class="na">UTF_8</span><span class="o">,</span> <span
class="n">response</span><span class="o">.</span><span
class="na">getCharacterEncoding</span><span class="o">());</span>
+<span class="n">assertEquals</span><span class="o">(</span><span
class="mi">55</span><span class="o">,</span> <span
class="n">response</span><span class="o">.</span><span
class="na">getContentLength</span><span class="o">());</span>
+
+<span class="c1">// validate headers</span>
+<span class="n">assertTrue</span><span class="o">(</span><span
class="n">response</span><span class="o">.</span><span
class="na">containsHeader</span><span class="o">(</span><span
class="s">"header1"</span><span class="o">));</span>
+<span class="n">assertEquals</span><span class="o">(</span><span
class="s">"5"</span><span class="o">,</span> <span
class="n">response</span><span class="o">.</span><span
class="na">getHeader</span><span class="o">(</span><span
class="s">"header2"</span><span class="o">));</span>
+
+<span class="c1">// validate response body as string</span>
+<span class="n">assertEquals</span><span class="o">(</span><span
class="n">TEST_CONTENT</span><span class="o">,</span> <span
class="n">response</span><span class="o">.</span><span
class="na">getOutputAsString</span><span class="o">());</span>
+
+<span class="c1">// validate response body as binary data</span>
+<span class="n">assertArrayEquals</span><span class="o">(</span><span
class="n">TEST_DATA</span><span class="o">,</span> <span
class="n">response</span><span class="o">.</span><span
class="na">getOutput</span><span class="o">());</span>
+</pre></div>
+</td></tr></table>
<div class="timestamp" style="margin-top: 30px; font-size: 80%;
text-align: right;">
- Rev. 1724554 by bdelacretaz on Thu, 14 Jan 2016 08:33:42 +0000
+ Rev. 1724783 by sseifert on Fri, 15 Jan 2016 11:57:08 +0000
</div>
<div class="trademarkFooter">
Apache Sling, Sling, Apache, the Apache feather logo, and the Apache
Sling project