anchor.diff:  In order to do this you can profit from the `fromRequest()` method that allows you to reference a bunch
   of elements from the HTTP request. You can use the following options:
   
  -- `fromRequest().url()` - return the request URL
  +- `fromRequest().url()` - return the request URL and query parameters
   - `fromRequest().query(String key)` - return the first query parameter with a given name
   - `fromRequest().query(String key, int index)` - return the nth query parameter with a given name
  +- `fromRequest().path()` - return the full path
  +- `fromRequest().path(int index)` - return the nth path element
   - `fromRequest().header(String key)` - return the first header with a given name
   - `fromRequest().header(String key, int index)` - return the nth header with a given name
   - `fromRequest().body()` - return the full request body
  
positive.code:       }
      },
      "bodyPatterns" : [ {
        "matchesJsonPath" : "$[?(@.baz == 5)]"
      }, {
        "matchesJsonPath" : "$[?(@.foo == 'bar')]"
      } ]
    },
    "response" : {
      "status" : 200,
      "body" : "{\"url\":\"{{{request.url}}}\",\"param\":\"{{{request.query.foo.[0]}}}\",\"paramIndex\":\"{{{request.query.foo.[1]}}}\",\"authorization\":\"{{{request.headers.Authorization.[0]}}}\",\"authorization2\":\"{{{request.headers.Authorization.[1]}}}\",\"fullBody\":\"{{{escapejsonbody}}}\",\"responseFoo\":\"{{{jsonpath this '$.foo'}}}\",\"responseBaz\":{{{jsonpath this '$.baz'}}} ,\"responseBaz2\":\"Bla bla {{{jsonpath this '$.foo'}}} bla bla\"}",
      "headers" : {
        "Authorization" : "{{{request.headers.Authorization.[0]}}}"
      },
      "transformers" : [ "response-template" ]
    }
  
negative.code:   assertThat(response.header("Authorization")).isEqualTo("foo secret bar");
   // and:
    DocumentContext parsedJson = JsonPath.parse(response.getBody().asString());
    assertThatJson(parsedJson).field("['fullBody']").isEqualTo("{\"foo\":\"bar\",\"baz\":5}");
    assertThatJson(parsedJson).field("['authorization']").isEqualTo("secret");
    assertThatJson(parsedJson).field("['authorization2']").isEqualTo("secret2");
    assertThatJson(parsedJson).field("['path']").isEqualTo("/api/v1/xxxx");
    assertThatJson(parsedJson).field("['param']").isEqualTo("bar");
    assertThatJson(parsedJson).field("['paramIndex']").isEqualTo("bar2");
    assertThatJson(parsedJson).field("['pathIndex']").isEqualTo("v1");
    assertThatJson(parsedJson).field("['responseBaz']").isEqualTo(5);
    assertThatJson(parsedJson).field("['responseFoo']").isEqualTo("bar");
    assertThatJson(parsedJson).field("['url']").isEqualTo("/api/v1/xxxx?foo=bar&foo=bar2");
    assertThatJson(parsedJson).field("['responseBaz2']").isEqualTo("Bla bla bar bla bla");
  ----
  
  As you can see elements from the request have been properly referenced in the response.
  