pekko/akka-docs/rst/java/http/routing-dsl/directives/path-directives/pathSuffixTest.rst
Fabian Gutierrez ee77273fac akka http javadsl - add path directive tests (#20813)
* akka http javadsl - add debugging directive test

* fixes line breaks

* add additional examples on PathDirectives

* link documentation to test examples

* include example on redirectToNoTrailingSlashIfPresent and redirectToTrailingSlashIfMissing

* include example on redirectToNoTrailingSlashIfPresent and redirectToTrailingSlashIfMissing
2016-06-22 01:13:27 +02:00

28 lines
1.4 KiB
ReStructuredText

.. _-pathSuffixTest-java-:
pathSuffixTest
==============
Description
-----------
Checks whether the unmatched path of the ``RequestContext`` has a suffix matched by the given ``PathMatcher``.
Potentially extracts one or more values (depending on the type of the argument) but doesn't consume its match from
the unmatched path.
This directive is very similar to the :ref:`-pathSuffix-java-` directive with the one difference that the path suffix
it matched (if it matched) is *not* consumed. The unmatched path of the ``RequestContext`` is therefore left as
is even in the case that the directive successfully matched and the request is passed on to its inner route.
As opposed to :ref:`-pathPrefixTest-java-` this directive matches and consumes the unmatched path from the right, i.e. the end.
.. caution:: For efficiency reasons, the given ``PathMatcher`` must match the desired suffix in reversed-segment
order, i.e. ``pathSuffixTest("baz" / "bar")`` would match ``/foo/bar/baz``! The order within a segment match is
not reversed.
Depending on the type of its ``PathMatcher`` argument the ``pathSuffixTest`` directive extracts zero or more values from
the URI. If the match fails the request is rejected with an :ref:`empty rejection set <empty rejections>`.
Example
-------
.. includecode:: ../../../../code/docs/http/javadsl/server/directives/PathDirectivesExamplesTest.java#path-suffix-test