diff --git a/CHANGES.md b/CHANGES.md index d1cfc3a..21bf959 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,9 @@ - @Hexa - [CHANGE] フィルタリングの結果が句読点のみになった場合はクライアントに結果を返さないように変更する - @Hexa +- [CHANGE] サーバから切断された場合はリトライするように変更する + - Amazon Transcribe のみ対象 + - @Hexa ### misc diff --git a/amazon_transcribe_handler.go b/amazon_transcribe_handler.go index 44d84ac..2cbbe6a 100644 --- a/amazon_transcribe_handler.go +++ b/amazon_transcribe_handler.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" "io" + "strings" "sync" "github.com/aws/aws-sdk-go/service/transcribestreamingservice" @@ -187,6 +188,10 @@ func (h *AmazonTranscribeHandler) Handle(ctx context.Context, opusCh chan opusCh *transcribestreamingservice.InternalFailureException: err = errors.Join(err, ErrServerDisconnected) default: + // サーバから切断された場合は再接続を試みる + if strings.Contains(err.Error(), "http2: server sent GOAWAY and closed the connection;") { + err = errors.Join(err, ErrServerDisconnected) + } } w.CloseWithError(err)