Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.101.0/docs/apis/_sources/http_docroot_paths_0.rst.txt

.. index:: single: http_docroot_paths .. _http_docroot_paths/0:

.. rst-class:: right

category

http_docroot_paths

Shared helpers for validating requests and sandboxing document-root relative paths.

| Availability: | logtalk_load(http_core(loader))

| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-06-05

| Compilation flags: | static

| Uses: | :ref:`http_core <http_core/0>` | :ref:`os <os/0>`

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

(no local declarations; see entity ancestors if any)

Protected predicates

.. index:: validate_relative_path/1 .. _http_docroot_paths/0::validate_relative_path/1:

validate_relative_path/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Validates a document-root relative request path atom.

| Compilation flags: | static

| Template: | validate_relative_path(Path) | Mode and number of proofs: | validate_relative_path(+atom) - one_or_error

| Exceptions: | Path is a variable: | instantiation_error | Path is neither a variable nor an atom: | type_error(atom,Path) | Path is not a safe document-root relative path: | domain_error(http_docroot_relative_path,Path)


.. index:: validate_request/1 .. _http_docroot_paths/0::validate_request/1:

validate_request/1 ^^^^^^^^^^^^^^^^^^^^^^

Validates a normalized HTTP request term.

| Compilation flags: | static

| Template: | validate_request(Request) | Mode and number of proofs: | validate_request(+compound) - one_or_error

| Exceptions: | Request is not a valid normalized HTTP request term: | domain_error(http_request,Request)


.. index:: validate_document_root/1 .. _http_docroot_paths/0::validate_document_root/1:

validate_document_root/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Validates an absolute document root path atom.

| Compilation flags: | static

| Template: | validate_document_root(DocumentRoot) | Mode and number of proofs: | validate_document_root(+atom) - one_or_error

| Exceptions: | DocumentRoot is a variable: | instantiation_error | DocumentRoot is neither a variable nor an atom: | type_error(atom,DocumentRoot) | DocumentRoot is not a valid absolute document root path: | domain_error(http_docroot_document_root,DocumentRoot)


.. index:: supported_method/1 .. _http_docroot_paths/0::supported_method/1:

supported_method/1 ^^^^^^^^^^^^^^^^^^^^^^

True when the request method is supported for document-root serving, currently get or head.

| Compilation flags: | static

| Template: | supported_method(Request) | Mode and number of proofs: | supported_method(+compound) - zero_or_one


.. index:: resolved_target_path/3 .. _http_docroot_paths/0::resolved_target_path/3:

resolved_target_path/3 ^^^^^^^^^^^^^^^^^^^^^^^^^^

Resolves a request path against a document root and succeeds only when the resulting path stays within that root.

| Compilation flags: | static

| Template: | resolved_target_path(Path,Root,Candidate) | Mode and number of proofs: | resolved_target_path(+atom,+atom,-atom) - zero_or_one


.. index:: path_within_root/2 .. _http_docroot_paths/0::path_within_root/2:

path_within_root/2 ^^^^^^^^^^^^^^^^^^^^^^

True when the candidate path is the document root itself or a path nested under it.

| Compilation flags: | static

| Template: | path_within_root(Root,Candidate) | Mode and number of proofs: | path_within_root(+atom,+atom) - zero_or_one


Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)