Documentation
¶
Index ¶
- Variables
- func CodeBlock(lang string, content string) string
- func Details(summary, details string) string
- func GetAllSupportedLanguages() []ssaconfig.Language
- func NewInvalidLangError(lang string) error
- func NewInvalidTemplateError(template string) error
- func NewReadFileError() error
- func NewSyntaxFlowWebServer(ctx context.Context, opts ...ServerOpt) (string, error)
- func ReadWebsocketJSON(c *websocket.Conn, data any) error
- func WriteWebsocketJSON(c *websocket.Conn, data any) error
- type ErrorResponse
- type InvalidLangError
- type InvalidSchemeError
- type InvalidTemplateError
- type LogHTTPResponseWriter
- type Method
- type Query
- type RateLimitedWebSocketWriter
- type ReadFileError
- type ReportFalseNegativeRequest
- type ReportFalseNegativeTemplateData
- type ReportFalsePositiveRequest
- type ReportFalsePositiveTemplateData
- type ReportMissingParameterError
- type ReportResponse
- type ServerConfig
- type ServerOpt
- type StatusCodeResponseWriter
- type SyntaxFlowAIAnalysisRequest
- type SyntaxFlowAIAnalysisResponse
- type SyntaxFlowAIAnalysisWriter
- type SyntaxFlowScanRequest
- type SyntaxFlowScanResponse
- type SyntaxFlowScanRisk
- type SyntaxFlowWebServer
- type TemplateContentResponse
- type TemplateLangResponse
- type TemplateListResponse
- type WebSocketRateLimiter
- type YakURL
- type YakURLKVPair
- type YakURLRequest
- type YakURLResource
- type YakURLResponse
Constants ¶
This section is empty.
Variables ¶
View Source
var ( //go:embed templates/** TemplateFS embed.FS LangToTemplateMap = make(map[string][]string) TemplateToFilenameMap = make(map[string]string) TemplateContentCache = utils.NewTTLCache[string](5 * time.Minute) )
View Source
var ( SfWebLogger = log.GetLogger("sfweb") CHAT_GLM_API_KEY = "CHATGLM_API_KEY" )
Functions ¶
func NewInvalidLangError ¶
func NewInvalidTemplateError ¶
func NewReadFileError ¶
func NewReadFileError() error
func NewSyntaxFlowWebServer ¶
Types ¶
type ErrorResponse ¶
type ErrorResponse struct {
Message string `json:"message"`
}
type InvalidLangError ¶
type InvalidLangError struct {
// contains filtered or unexported fields
}
func (*InvalidLangError) Error ¶
func (e *InvalidLangError) Error() string
type InvalidSchemeError ¶
type InvalidSchemeError struct {
// contains filtered or unexported fields
}
func NewInvalidSchemeError ¶
func NewInvalidSchemeError(scheme string) *InvalidSchemeError
func (*InvalidSchemeError) Error ¶
func (e *InvalidSchemeError) Error() string
type InvalidTemplateError ¶
type InvalidTemplateError struct {
// contains filtered or unexported fields
}
func (*InvalidTemplateError) Error ¶
func (e *InvalidTemplateError) Error() string
type LogHTTPResponseWriter ¶
type LogHTTPResponseWriter struct {
http.ResponseWriter
http.Hijacker
StatusCode int
// contains filtered or unexported fields
}
func NewLogHTTPResponseWriter ¶
func NewLogHTTPResponseWriter(w http.ResponseWriter) *LogHTTPResponseWriter
func (*LogHTTPResponseWriter) Raw ¶
func (w *LogHTTPResponseWriter) Raw() []byte
func (*LogHTTPResponseWriter) WriteHeader ¶
func (w *LogHTTPResponseWriter) WriteHeader(statusCode int)
type RateLimitedWebSocketWriter ¶
type RateLimitedWebSocketWriter struct {
// contains filtered or unexported fields
}
func NewRateLimitedWebSocketWriter ¶
func NewRateLimitedWebSocketWriter(conn *websocket.Conn, rateLimiter *WebSocketRateLimiter) *RateLimitedWebSocketWriter
func (*RateLimitedWebSocketWriter) TryWriteJSON ¶
func (w *RateLimitedWebSocketWriter) TryWriteJSON(data interface{}) error
func (*RateLimitedWebSocketWriter) WriteJSON ¶
func (w *RateLimitedWebSocketWriter) WriteJSON(data interface{}) error
type ReadFileError ¶
type ReadFileError struct{}
func (*ReadFileError) Error ¶
func (e *ReadFileError) Error() string
type ReportMissingParameterError ¶
type ReportMissingParameterError struct {
// contains filtered or unexported fields
}
func NewReportMissingParameterError ¶
func NewReportMissingParameterError(param string) *ReportMissingParameterError
func (*ReportMissingParameterError) Error ¶
func (e *ReportMissingParameterError) Error() string
type ReportResponse ¶
type ServerConfig ¶
type ServerConfig struct {
Host string
ChatGLMAPIKey string
Port int
Debug bool
Https bool
ServerCrtPath string
ServerKeyPath string
WebSocketRateLimit time.Duration
}
func NewServerConfig ¶
func NewServerConfig() *ServerConfig
type ServerOpt ¶
type ServerOpt func(*ServerConfig)
func WithChatGLMAPIKey ¶
func WithServerCrtPath ¶
func WithServerKeyPath ¶
type StatusCodeResponseWriter ¶
type StatusCodeResponseWriter struct {
http.ResponseWriter
http.Hijacker
StatusCode int
}
func NewStatusCodeResponseWriter ¶
func NewStatusCodeResponseWriter(w http.ResponseWriter) *StatusCodeResponseWriter
func (*StatusCodeResponseWriter) WriteHeader ¶
func (w *StatusCodeResponseWriter) WriteHeader(statusCode int)
type SyntaxFlowAIAnalysisWriter ¶
type SyntaxFlowAIAnalysisWriter struct {
// contains filtered or unexported fields
}
func NewSyntaxFlowAIAnalysisWriter ¶
func NewSyntaxFlowAIAnalysisWriter(conn *websocket.Conn) *SyntaxFlowAIAnalysisWriter
type SyntaxFlowScanRequest ¶
type SyntaxFlowScanResponse ¶
type SyntaxFlowScanResponse struct {
Error string `json:"error,omitempty"`
Message string `json:"message,omitempty"`
Risk []*SyntaxFlowScanRisk `json:"risk,omitempty"`
Progress float64 `json:"progress,omitempty"`
}
type SyntaxFlowScanRisk ¶
type SyntaxFlowScanRisk struct {
RuleName string `json:"rule_name"`
Severity string `json:"severity"`
Title string `json:"title"`
Type string `json:"type"`
VarName string `json:"var_name"`
ProgramName string `json:"program_name"`
RiskHash string `json:"risk_hash"`
ResultID uint64 `json:"result_id"`
Timestamp int64 `json:"timestamp"`
}
type SyntaxFlowWebServer ¶
type SyntaxFlowWebServer struct {
// contains filtered or unexported fields
}
type TemplateContentResponse ¶
type TemplateContentResponse struct {
Content string `json:"content"`
}
type TemplateLangResponse ¶
type TemplateListResponse ¶
type TemplateListResponse struct {
// 模板
Template []string `json:"template"`
}
type WebSocketRateLimiter ¶
type WebSocketRateLimiter struct {
// contains filtered or unexported fields
}
func NewWebSocketRateLimiter ¶
func NewWebSocketRateLimiter(interval time.Duration) *WebSocketRateLimiter
func (*WebSocketRateLimiter) DirectSend ¶
func (r *WebSocketRateLimiter) DirectSend(conn *websocket.Conn, data interface{}) error
type YakURLKVPair ¶
type YakURLRequest ¶
type YakURLResource ¶
type YakURLResource struct {
Extra []*YakURLKVPair `json:"extra"`
HaveChildrenNodes bool `json:"have_children_nodes"`
ModifiedTimestamp int64 `json:"modified_timestamp"`
Path string `json:"path"`
ResourceName string `json:"resource_name"`
ResourceType string `json:"resource_type"`
Size int64 `json:"size"`
URL *YakURL `json:"url"`
VerboseName string `json:"verbose_name"`
VerboseSize string `json:"verbose_size"`
VerboseType string `json:"verbose_type"`
YakURLVerbose string `json:"yak_url_verbose"`
}
type YakURLResponse ¶
type YakURLResponse struct {
Page int64 `json:"page"`
PageSize int64 `json:"page_size"`
Resources []*YakURLResource `json:"resources"`
Total int64 `json:"total"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.