feat: отмена скана на сервере, стабильнее scan_id, упрощённый UI
- Runner: context, POST /api/scans/{id}/cancel, частичный canceled; Start до ответа createScan
- API: scanPathID (PathUnescape), лог при 404; Postgres GetScan логирует ошибки чтения
- newScanID: суффикс 8 hex; тест обновлён
- Web UI: убраны строки scan_id/from-to; скрытое поле scanId; cancel при таймауте/новом скане
Made-with: Cursor
This commit is contained in:
@@ -548,9 +548,9 @@ func validateCreateScanRequest(req *CreateScanRequest) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// newScanID — человекочитаемый scan_id: UTC-время с наносекундами + CIDR из запроса (как ввёл пользователь, до expand) + 4 hex (уникальность при коллизии по времени/CIDR).
|
||||
// newScanID — человекочитаемый scan_id: UTC-время с наносекундами + CIDR из запроса (как ввёл пользователь, до expand) + 8 hex (коллизии по времени/CIDR).
|
||||
func newScanID(cidrLabels []string) (string, error) {
|
||||
var tail [2]byte
|
||||
var tail [4]byte
|
||||
if _, err := rand.Read(tail[:]); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user