added timout to deepl post request

This commit is contained in:
2022-02-12 01:59:32 +01:00
parent 8fe8ec5233
commit 8c672f7186
3 changed files with 19 additions and 11 deletions

View File

@@ -70,11 +70,12 @@ type Conf struct {
Write int
Idle int
}
DeepL struct {
BaseURL string `yaml:"base_url"`
APIKey string `yaml:"api_key"`
} `yaml:"deepl"`
}
DeepL struct {
BaseURL string `yaml:"base_url"`
APIKey string `yaml:"api_key"`
Timeout int `yaml:"timeout"`
} `yaml:"deepl"`
}
type CommunityXML struct {
@@ -687,18 +688,22 @@ func PlayerFromSteamID64(db *ent.Client, steamID uint64, apiKey string, rl ratel
}
}
func TranslateWithDeepL(text string, language string, baseURL string, apiKey string) (translated string, detectedLanguage string, err error) {
func TranslateWithDeepL(text string, language string, baseURL string, apiKey string, timeout int) (translated string, detectedLanguage string, err error) {
c := &http.Client{
Timeout: time.Duration(timeout) * time.Second,
}
v := url.Values{}
v.Set("auth_key", apiKey)
v.Set("text", text)
v.Set("target_lang", language)
dlResp, err := http.PostForm("https://"+baseURL+"/v2/translate", v)
dlResp, err := c.PostForm("https://"+baseURL+"/v2/translate", v)
if err != nil {
return "", "", fmt.Errorf("deepl response: %w", err)
} else if dlResp.StatusCode != http.StatusOK {
return "", "", fmt.Errorf("deepl response %d", dlResp.StatusCode)
} else {
respBytes, err := io.ReadAll(dlResp.Body)
defer dlResp.Body.Close()
if err != nil {
return "", "", fmt.Errorf("error reading deepl response: %w", err)
}