Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Asset ¶
type Asset = assetservice.Asset
type DBEventBus ¶
type DBEventBus = *dbeventbus.EventBus
type EventBusMessage ¶
type FileService ¶
type FileService = assetservice.FileService
type HTTPServer ¶
type HTTPServer interface {
SendSuccessResponse(w http.ResponseWriter, status int, result any)
SendErrorResponse(w http.ResponseWriter, message string, status int)
}
HTTPServer interface
type ModuleSDK ¶
type ModuleSDK struct {
Ctx context.Context
InMemoryEventBus EventBus
DBEventBus DBEventBus
Router Router
AssetService AssetService
AssetFetcher AssetFetcher
Options Options
HTTPServer HTTPServer
WebsocketServer *websocket.WebsocketServer // used to communitate with VSCode
Logger *slog.Logger
Scope Scope
FileService FileService
Database *sqlx.DB
}
ModuleSDK are the exposed dependencies that modules can use
type Options ¶
type Options struct {
Port int `yaml:"port"`
Hostname string `yaml:"hostname"`
ProjectName string `yaml:"project-name"`
ScopePatterns goflags.StringSlice `yaml:"scope"`
Debug bool `yaml:"debug"`
AssetSaveConcurrency int `yaml:"save-concurrency"`
AssetFetchConcurrency int `yaml:"fetch-concurrency"`
BeautifierConcurrency int `yaml:"beautifier-concurrency"`
ChunkDiscovererConcurrency int `yaml:"chunk-discoverer-concurrency"`
ASTAnalyzerConcurrency int `yaml:"ast-analyzer-concurrency"`
ChunkDiscovererBruteForceLimit int `yaml:"chunk-discoverer-bruteforce-limit"`
JavascriptRequestsCacheTTL time.Duration `yaml:"js-requests-cache-ttl"`
HTMLRequestsCacheTTL time.Duration `yaml:"html-requests-cache-ttl"`
RateLimitingMaxRequestsPerSecond int `yaml:"rate-limiter-max-requests-per-second"`
RateLimitingMaxRequestsPerMinute int `yaml:"rate-limiter-max-requests-per-minute"`
DownloadReferedJS bool `yaml:"download-refered-js"`
LogBufferSize int `yaml:"log-buffer-size"`
LogFileMaxSizeMB int `yaml:"log-file-max-size-mb"`
CaidoHostname string `yaml:"caido-hostname"`
CaidoPort int `yaml:"caido-port"`
OverrideContentCheckInterval time.Duration `yaml:"override-content-check-interval"`
}
JXScout Options
Click to show internal directories.
Click to hide internal directories.