Author: sseifert
Date: Fri Jan 15 11:57:08 2016
New Revision: 1724783
URL: http://svn.apache.org/viewvc?rev=1724783&view=rev
Log:
SLING-5428 add more docs
Modified:
sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext
Modified: sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext
URL:
http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext?rev=1724783&r1=1724782&r2=1724783&view=diff
==============================================================================
--- sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext
(original)
+++ sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext Fri
Jan 15 11:57:08 2016
@@ -9,3 +9,72 @@ an HTTP request processing context.
See the [automated
tests](https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/servlet-helpers)
of the `servlet-helpers` module for more info.
+
+
+## Usage
+
+### SlingHttpServletRequest
+
+Example for preparing a sling request with custom request data:
+
+ #!java
+ // prepare sling request
+ MockSlingHttpServletRequest request = new
MockSlingHttpServletRequest(resourceResolver);
+
+ // simulate query string
+ request.setQueryString("param1=aaa¶m2=bbb");
+
+ // alternative - set query parameters as map
+ request.setParameterMap(ImmutableMap.<String,Object>builder()
+ .put("param1", "aaa")
+ .put("param2", "bbb")
+ .build());
+
+ // set current resource
+ request.setResource(resourceResolver.getResource("/content/sample"));
+
+ // set sling request path info properties
+ MockRequestPathInfo requestPathInfo =
(MockRequestPathInfo)request.getRequestPathInfo();
+ requestPathInfo.setSelectorString("selector1.selector2");
+ requestPathInfo.setExtension("html");
+
+ // set method
+ request.setMethod(HttpConstants.METHOD_POST);
+
+ // set attributes
+ request.setAttribute("attr1", "value1");
+
+ // set headers
+ request.addHeader("header1", "value1");
+
+ // set cookies
+ request.addCookie(new Cookie("cookie1", "value1"));
+
+
+### SlingHttpServletResponse
+
+Example for preparing a sling response which can collect the data that was
written to it:
+
+ #!java
+ // prepare sling response
+ MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
+
+ // execute the code that writes to the response...
+
+ // validate status code
+ assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+
+ // validate content type and content length
+ assertEquals("text/plain;charset=UTF-8", response.getContentType());
+ assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
+ assertEquals(55, response.getContentLength());
+
+ // validate headers
+ assertTrue(response.containsHeader("header1"));
+ assertEquals("5", response.getHeader("header2"));
+
+ // validate response body as string
+ assertEquals(TEST_CONTENT, response.getOutputAsString());
+
+ // validate response body as binary data
+ assertArrayEquals(TEST_DATA, response.getOutput());