Documentation
¶
Index ¶
- type Backup
- type ChunkBuffer
- type ChunkSession
- type ChunkSessionInfo
- type ChunkWriteRequest
- type DefaultPathValidator
- type FileWriter
- type SafeFileWriter
- type StreamingChunkBuffer
- func (cm *StreamingChunkBuffer) CleanupSession(sessionID string) error
- func (cm *StreamingChunkBuffer) FinalizeChunks(ctx context.Context, sessionID string, targetPath string) (*WriteResult, error)
- func (cm *StreamingChunkBuffer) GetSessionInfo(sessionID string) (*ChunkSessionInfo, error)
- func (cm *StreamingChunkBuffer) WriteChunk(ctx context.Context, req ChunkWriteRequest) error
- type WriteRequest
- type WriteResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backup ¶ added in v0.207.0
type Backup struct {
// contains filtered or unexported fields
}
Backup handles file backup operations
func NewBackup ¶ added in v0.207.0
NewBackup creates a new Backup writing into backupDir - the per-project runtime backups dir (~/.infer/projects/<project-slug>/backups).
func (*Backup) CleanupBackup ¶ added in v0.207.0
CleanupBackup removes a backup file
func (*Backup) CreateBackup ¶ added in v0.207.0
CreateBackup creates a backup of the original file
type ChunkBuffer ¶ added in v0.207.0
type ChunkBuffer interface {
WriteChunk(ctx context.Context, req ChunkWriteRequest) error
FinalizeChunks(ctx context.Context, sessionID string, targetPath string) (*WriteResult, error)
CleanupSession(sessionID string) error
GetSessionInfo(sessionID string) (*ChunkSessionInfo, error)
}
ChunkBuffer defines the interface for handling chunked file writes
func NewStreamingChunkBuffer ¶ added in v0.207.0
func NewStreamingChunkBuffer(tempDir string, writer FileWriter) ChunkBuffer
NewStreamingChunkBuffer creates a new StreamingChunkBuffer
type ChunkSession ¶
type ChunkSession struct {
// contains filtered or unexported fields
}
ChunkSession represents an active chunked writing session
type ChunkSessionInfo ¶
ChunkSessionInfo provides information about an active chunk session
type ChunkWriteRequest ¶
ChunkWriteRequest represents a chunk write operation
type DefaultPathValidator ¶
type DefaultPathValidator struct {
// contains filtered or unexported fields
}
DefaultPathValidator validates file paths for security and accessibility
func NewPathValidator ¶
func NewPathValidator(cfg *config.Config) *DefaultPathValidator
NewPathValidator creates a new DefaultPathValidator
func (*DefaultPathValidator) IsInSandbox ¶
func (v *DefaultPathValidator) IsInSandbox(path string) bool
IsInSandbox checks if a path is within configured sandbox directories
func (*DefaultPathValidator) IsWritable ¶
func (v *DefaultPathValidator) IsWritable(path string) bool
IsWritable checks if a path can be written to
func (*DefaultPathValidator) Validate ¶
func (v *DefaultPathValidator) Validate(path string) error
Validate checks if a path is valid and secure for file operations
type FileWriter ¶
type FileWriter interface {
Write(ctx context.Context, req WriteRequest) (*WriteResult, error)
ValidatePath(path string) error
}
FileWriter defines the interface for file writing operations
func NewSafeFileWriter ¶
func NewSafeFileWriter(validator *DefaultPathValidator, backupManager *Backup) FileWriter
NewSafeFileWriter creates a new SafeFileWriter
type SafeFileWriter ¶
type SafeFileWriter struct {
// contains filtered or unexported fields
}
SafeFileWriter implements FileWriter with atomic operations
func (*SafeFileWriter) ValidatePath ¶
func (w *SafeFileWriter) ValidatePath(path string) error
ValidatePath validates if a path is safe for writing
func (*SafeFileWriter) Write ¶
func (w *SafeFileWriter) Write(ctx context.Context, req WriteRequest) (*WriteResult, error)
Write performs an atomic file write operation
type StreamingChunkBuffer ¶ added in v0.207.0
type StreamingChunkBuffer struct {
// contains filtered or unexported fields
}
StreamingChunkBuffer implements ChunkBuffer with safe streaming
func (*StreamingChunkBuffer) CleanupSession ¶ added in v0.207.0
func (cm *StreamingChunkBuffer) CleanupSession(sessionID string) error
CleanupSession removes an active session and cleans up resources
func (*StreamingChunkBuffer) FinalizeChunks ¶ added in v0.207.0
func (cm *StreamingChunkBuffer) FinalizeChunks(ctx context.Context, sessionID string, targetPath string) (*WriteResult, error)
FinalizeChunks completes a chunked write session and moves to target location
func (*StreamingChunkBuffer) GetSessionInfo ¶ added in v0.207.0
func (cm *StreamingChunkBuffer) GetSessionInfo(sessionID string) (*ChunkSessionInfo, error)
GetSessionInfo returns information about an active session
func (*StreamingChunkBuffer) WriteChunk ¶ added in v0.207.0
func (cm *StreamingChunkBuffer) WriteChunk(ctx context.Context, req ChunkWriteRequest) error
WriteChunk writes a chunk to the session's temp file
type WriteRequest ¶
WriteRequest represents a file write operation request