fix: SAC ingest UTF-8 JSON body for Cyrillic (1.2.8-SAC)
Invoke-WebRequest now posts application/json; charset=utf-8 bytes Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+1
-1
@@ -80,7 +80,7 @@ $script:MonitorLoopInitialized = $false
|
|||||||
# строки ниже, если правки «мелкие» и вы не хотите менять отображаемую версию в логах).
|
# строки ниже, если правки «мелкие» и вы не хотите менять отображаемую версию в логах).
|
||||||
# Рекомендация: при значимых релизах меняйте и $ScriptVersion, и version.txt одинаково; при только
|
# Рекомендация: при значимых релизах меняйте и $ScriptVersion, и version.txt одинаково; при только
|
||||||
# исправлениях на шаре — достаточно поднять patch в version.txt (например 1.3.0.1).
|
# исправлениях на шаре — достаточно поднять patch в version.txt (например 1.3.0.1).
|
||||||
$ScriptVersion = "1.2.7-SAC"
|
$ScriptVersion = "1.2.8-SAC"
|
||||||
|
|
||||||
# Логи (все под InstallRoot)
|
# Логи (все под InstallRoot)
|
||||||
$LogFile = Join-Path $script:InstallRoot "Logs\login_monitor.log"
|
$LogFile = Join-Path $script:InstallRoot "Logs\login_monitor.log"
|
||||||
|
|||||||
+9
-3
@@ -4,9 +4,14 @@
|
|||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
Dot-source после login_monitor.settings.ps1 и функции Write-Log.
|
Dot-source после login_monitor.settings.ps1 и функции Write-Log.
|
||||||
Ожидает: $UseSAC, $SacUrl, $SacApiKey, $ScriptVersion, $script:InstallRoot.
|
Ожидает: $UseSAC, $SacUrl, $SacApiKey, $ScriptVersion, $script:InstallRoot.
|
||||||
Release: 1.2.7-SAC (ingest HTTP 201/409/202).
|
Release: 1.2.8-SAC (ingest UTF-8 body for Cyrillic summary/details).
|
||||||
#>
|
#>
|
||||||
|
|
||||||
|
function Get-SacUtf8Bytes {
|
||||||
|
param([Parameter(Mandatory = $true)][string]$Text)
|
||||||
|
return (New-Object System.Text.UTF8Encoding $false).GetBytes($Text)
|
||||||
|
}
|
||||||
|
|
||||||
function Write-SacLog {
|
function Write-SacLog {
|
||||||
param([string]$Message)
|
param([string]$Message)
|
||||||
if (Get-Command Write-Log -ErrorAction SilentlyContinue) {
|
if (Get-Command Write-Log -ErrorAction SilentlyContinue) {
|
||||||
@@ -222,10 +227,11 @@ function Invoke-SacPostPayload {
|
|||||||
Invoke-SacTlsPrep
|
Invoke-SacTlsPrep
|
||||||
$headers = @{
|
$headers = @{
|
||||||
Authorization = "Bearer $SacApiKey"
|
Authorization = "Bearer $SacApiKey"
|
||||||
'Content-Type' = 'application/json'
|
'Content-Type' = 'application/json; charset=utf-8'
|
||||||
'Idempotency-Key' = $eventId
|
'Idempotency-Key' = $eventId
|
||||||
}
|
}
|
||||||
$resp = Invoke-WebRequest -Uri $ingest -Method Post -Headers $headers -Body $JsonBody -UseBasicParsing -TimeoutSec $timeout
|
$bodyBytes = Get-SacUtf8Bytes -Text $JsonBody
|
||||||
|
$resp = Invoke-WebRequest -Uri $ingest -Method Post -Headers $headers -Body $bodyBytes -UseBasicParsing -TimeoutSec $timeout
|
||||||
if ($resp.StatusCode -in 201, 409, 202) {
|
if ($resp.StatusCode -in 201, 409, 202) {
|
||||||
Remove-SacSpoolFile -EventId $eventId
|
Remove-SacSpoolFile -EventId $eventId
|
||||||
Reset-SacFailCount
|
Reset-SacFailCount
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
1.2.7-SAC
|
1.2.8-SAC
|
||||||
|
|||||||
Reference in New Issue
Block a user