request.request_validator.http_req

Provides the HttpRequestValidator class for validating HTTP requests.

Module Contents

class request.request_validator.http_req.ValidationComponent[source]

Bases: abc.ABC

Abstract base class to represent a component in composite validation.

abstractmethod validate(context)[source]

Execute validation logic and enrich context.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.PayloadSizeValidation(max_payload_size)[source]

Bases: ValidationComponent, trustpoint.logger.LoggerMixin

Validate payload size.

Parameters:

max_payload_size (int)

max_payload_size[source]
validate(context)[source]

Validate the payload size against the maximum allowed size.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.ContentTypeValidation(expected_content_type)[source]

Bases: ValidationComponent, trustpoint.logger.LoggerMixin

Validate request content type.

Parameters:

expected_content_type (str)

expected_content_type[source]
validate(context)[source]

Validate the presence of the ‘Content-Type’ header and check if it matches the expected type.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.AcceptHeaderValidation(allowed_content_types)[source]

Bases: ValidationComponent, trustpoint.logger.LoggerMixin

Validate the Accept header.

Parameters:

allowed_content_types (list[str])

allowed_content_types[source]
validate(context)[source]

Validate the presence of the ‘Accept’ header and check if it matches any of the allowed types.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.ClientCertificateValidation[source]

Bases: ValidationComponent, trustpoint.logger.LoggerMixin

Check and optionally process the SSL client certificate from the request headers.

validate(context)[source]

Check for the presence of the ‘HTTP_SSL_CLIENT_CERT’ header and set the cert in the context if present.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.IntermediateCertificatesValidation[source]

Bases: ValidationComponent, trustpoint.logger.LoggerMixin

Validate and process intermediate CA certificates from the request headers.

validate(context)[source]

Extract and validate intermediate CA certificates from the ‘SSL_CLIENT_CERT_CHAIN_*’ headers.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.ContentTransferEncodingValidation[source]

Bases: ValidationComponent, trustpoint.logger.LoggerMixin

Validate the Content-Transfer-Encoding header and decode base64-encoded messages if required.

validate(context)[source]

Validates and processes requests with a Content-Transfer-Encoding header set to ‘base64’.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.CompositeValidation[source]

Bases: ValidationComponent, trustpoint.logger.LoggerMixin

Composite validator to group multiple validators.

components: list[ValidationComponent] = [][source]
add(component)[source]

Add a new component to the composite.

Parameters:

component (ValidationComponent)

Return type:

None

remove(component)[source]

Remove a component from the composite.

Parameters:

component (ValidationComponent)

Return type:

None

validate(context)[source]

Validate all child components.

Parameters:

context (request.request_context.HttpBaseRequestContext)

Return type:

None

class request.request_validator.http_req.CmpHttpRequestValidator[source]

Bases: CompositeValidation

Validator for CMP-specific HTTP requests.

class request.request_validator.http_req.EstHttpRequestValidator[source]

Bases: CompositeValidation

Validator for EST-specific HTTP requests.