<document ids="testing" names="testing" source="<string>" title="Testing">
    <title>
        Testing
    <paragraph>
        Sample chalice app with docstrings.
    <section ids="index" names="/ index">
        <title>
            <strong>
                GET
             
            /
        <paragraph>
            Return {'hello': 'world'}.
        <paragraph>
            The view function above will return 
            <literal>
                {"hello": "world"}
            
            whenever you make an HTTP GET request to '/'.
    <section ids="hello-name" names="/hello/{name} hello_name">
        <title>
            <strong>
                GET
             
            <strong>
                POST
             
            /hello/{name}
        <paragraph>
            <literal>
                '/hello/james' -> {"hello": "james"}
            .
        <section dupnames="returns" ids="returns">
            <title>
                Returns
            <paragraph>
                <literal>
                    {'hello': name}
    <section ids="minimal" names="/minimal no_doc">
        <title>
            <strong>
                GET
             
            /minimal
    <section ids="refs" names="/refs xref">
        <title>
            <strong>
                GET
             
            /refs
        <paragraph>
            Cross-reference example.
        <paragraph>
            This docstring contains a cross-reference to 
            <problematic ids="id2" refid="id1">
                :chalice:route:`GET /`
            .
        <system_message backrefs="id2" ids="id1" level="3" line="3" source="<string>" type="ERROR">
            <paragraph>
                Unknown interpreted text role "chalice:route".
        <paragraph>
            You can also use the
            <reference name=":any:" refuri="http://www.sphinx-doc.org/en/stable/markup/inline.html#role-any">
                :any:
            <target ids="any" names=":any:" refuri="http://www.sphinx-doc.org/en/stable/markup/inline.html#role-any">
            
            functionality: 
            <problematic ids="id4" refid="id3">
                :any:`GET /hello/{name}`
            .
        <system_message backrefs="id4" ids="id3" level="3" line="5" source="<string>" type="ERROR">
            <paragraph>
                Unknown interpreted text role "any".
    <section dupnames="/users" ids="users" names="create_user">
        <title>
            <strong>
                POST
             
            /users
        <paragraph>
            Create user.
        <paragraph>
            This is the JSON body the user sent in their POST request:
        <literal_block xml:space="preserve">
            user_as_json = app.current_request.json_body
        <paragraph>
            We'll echo the json body back to the user in a 'user' key.
        <section dupnames="returns" ids="id5">
            <title>
                Returns
            <paragraph>
                <literal>
                    {'user': user_as_json}
    <section dupnames="/users" ids="get-user" names="get_user">
        <title>
            <strong>
                GET
             
            /users
        <paragraph>
            Get user.
        <paragraph>
            Return user information as sent in query parameters:
        <literal_block xml:space="preserve">
            user_as_json = app.current_request.query_params
        <section dupnames="returns" ids="id6">
            <title>
                Returns
            <paragraph>
                <literal>
                    {'user': user_as_json}
