http

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

Package http provides HTTP handlers for transit key management and cryptographic operations.

Package http provides HTTP handlers for transit key management and cryptographic operations.

Package http provides HTTP handlers for transit key management and cryptographic operations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CryptoHandler

type CryptoHandler struct {
	// contains filtered or unexported fields
}

CryptoHandler handles HTTP requests for transit encryption and decryption operations. It coordinates authentication, authorization, and audit logging with the TransitKeyUseCase.

func NewCryptoHandler

func NewCryptoHandler(
	transitKeyUseCase transitUseCase.TransitKeyUseCase,
	auditLogUseCase authUseCase.AuditLogUseCase,
	logger *slog.Logger,
) *CryptoHandler

NewCryptoHandler creates a new crypto handler with required dependencies.

func (*CryptoHandler) DecryptHandler

func (h *CryptoHandler) DecryptHandler(c *gin.Context)

DecryptHandler decrypts ciphertext using the version specified in the encrypted blob. POST /v1/transit/keys/:name/decrypt - Requires DecryptCapability. Returns 200 OK with plaintext bytes. SECURITY: Plaintext is zeroed after response.

func (*CryptoHandler) EncryptHandler

func (h *CryptoHandler) EncryptHandler(c *gin.Context)

EncryptHandler encrypts plaintext data using the specified transit key. POST /v1/transit/keys/:name/encrypt - Requires EncryptCapability. Returns 200 OK with ciphertext in format "version:base64-ciphertext".

type TransitKeyHandler

type TransitKeyHandler struct {
	// contains filtered or unexported fields
}

TransitKeyHandler handles HTTP requests for transit key management operations. It coordinates authentication, authorization, and audit logging with the TransitKeyUseCase.

func NewTransitKeyHandler

func NewTransitKeyHandler(
	transitKeyUseCase transitUseCase.TransitKeyUseCase,
	auditLogUseCase authUseCase.AuditLogUseCase,
	logger *slog.Logger,
) *TransitKeyHandler

NewTransitKeyHandler creates a new transit key handler with required dependencies.

func (*TransitKeyHandler) CreateHandler

func (h *TransitKeyHandler) CreateHandler(c *gin.Context)

CreateHandler creates a new transit key with version 1. POST /v1/transit/keys - Requires WriteCapability on path /v1/transit/keys. Returns 201 Created with transit key metadata.

func (*TransitKeyHandler) DeleteHandler

func (h *TransitKeyHandler) DeleteHandler(c *gin.Context)

DeleteHandler soft deletes a transit key by ID. DELETE /v1/transit/keys/:id - Requires DeleteCapability on path /v1/transit/keys/:id. Returns 204 No Content.

func (*TransitKeyHandler) RotateHandler

func (h *TransitKeyHandler) RotateHandler(c *gin.Context)

RotateHandler creates a new version of an existing transit key. POST /v1/transit/keys/:name/rotate - Requires RotateCapability. Returns 200 OK with new version metadata.

Directories

Path Synopsis
Package dto provides data transfer objects for HTTP request and response handling.
Package dto provides data transfer objects for HTTP request and response handling.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL