.. _Docker images: https://hub.docker.com/r/cznic/knot-resolver
.. _libuv: https://github.com/libuv/libuv
.. _LuaJIT: http://luajit.org/luajit.html
-.. _Doxygen: https://www.stack.nl/~dimitri/doxygen/manual/index.html
+.. _Doxygen: https://www.doxygen.nl/manual/index.html
.. _breathe: https://github.com/michaeljones/breathe
.. _Sphinx: http://sphinx-doc.org/
.. _sphinx_rtd_theme: https://pypi.python.org/pypi/sphinx_rtd_theme
Prometheus metrics endpoint
---------------------------
-The `HTTP module <mod-http>`_ exposes ``/metrics`` endpoint that serves metrics
+The :ref:`HTTP module <mod-http>` exposes ``/metrics`` endpoint that serves metrics
from :ref:`mod-stats` in Prometheus_ text format.
You can use it as soon as HTTP module is configured:
:param state: Request processing state :c:type:`kr_layer_state`, typically not used by filter function.
:param query: Incoming DNS query as :c:type:`kr_query` structure.
- :return: An `action <actions>`_ function or ``nil`` if filter did not match.
+ :return: An `action <#actions>`_ function or ``nil`` if filter did not match.
Typically filter function is generated by another function, which allows easy parametrization - this technique is called `closure <https://www.lua.org/pil/6.1.html>`_. An practical example of such filter generator is:
:param state: Request processing state :c:type:`kr_layer_state`.
:param request: Current DNS request as :c:type:`kr_request` structure.
- :return: Returning a new :c:type:`kr_layer_state` prevents evaluating other policy rules. Returning ``nil`` creates a `chain action <Chain actions>`_ and allows to continue evaluating other rules.
+ :return: Returning a new :c:type:`kr_layer_state` prevents evaluating other policy rules. Returning ``nil`` creates a `chain action <#actions>`_ and allows to continue evaluating other rules.
This is real example of an action function: