Fix: check errors before checking pointer receiver (!) (#4)

This commit is contained in:
kayos
2023-08-12 12:32:19 -07:00
committed by GitHub
parent 261398509a
commit 85bc7b2007
4 changed files with 42 additions and 43 deletions

View File

@@ -151,14 +151,14 @@ func (c Client) HistoryDownloadAudioWriter(ctx context.Context, w io.Writer, ID
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "audio/mpeg")
res, err := client.Do(req)
if err != nil {
return err
}
switch res.StatusCode {
case 401:
return ErrUnauthorized
case 200:
if err != nil {
return err
}
defer res.Body.Close()
io.Copy(w, res.Body)
return nil
@@ -188,14 +188,14 @@ func (c Client) HistoryDownloadAudio(ctx context.Context, ID string) ([]byte, er
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "audio/mpeg")
res, err := client.Do(req)
if err != nil {
return []byte{}, err
}
switch res.StatusCode {
case 401:
return []byte{}, ErrUnauthorized
case 200:
if err != nil {
return []byte{}, err
}
b := bytes.Buffer{}
w := bufio.NewWriter(&b)
@@ -228,15 +228,14 @@ func (c Client) GetHistoryItemList(ctx context.Context) ([]types.HistoryItemList
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return []types.HistoryItemList{}, err
}
switch res.StatusCode {
case 401:
return []types.HistoryItemList{}, ErrUnauthorized
case 200:
if err != nil {
return []types.HistoryItemList{}, err
}
var history types.GetHistoryResponse
defer res.Body.Close()
jerr := json.NewDecoder(res.Body).Decode(&history)

View File

@@ -25,14 +25,13 @@ func (c Client) DeleteVoiceSample(ctx context.Context, voiceID, sampleID string)
req.Header.Set("xi-api-key", c.apiKey)
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
res, err := client.Do(req)
if err != nil {
return false, err
}
switch res.StatusCode {
case 401:
return false, ErrUnauthorized
case 200:
if err != nil {
return false, err
}
return true, nil
case 422:
fallthrough
@@ -60,14 +59,14 @@ func (c Client) DownloadVoiceSampleWriter(ctx context.Context, w io.Writer, voic
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "audio/mpeg")
res, err := client.Do(req)
if err != nil {
return err
}
switch res.StatusCode {
case 401:
return ErrUnauthorized
case 200:
if err != nil {
return err
}
defer res.Body.Close()
io.Copy(w, res.Body)
return nil
@@ -97,14 +96,14 @@ func (c Client) DownloadVoiceSample(ctx context.Context, voiceID, sampleID strin
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "audio/mpeg")
res, err := client.Do(req)
if err != nil {
return []byte{}, err
}
switch res.StatusCode {
case 401:
return []byte{}, ErrUnauthorized
case 200:
if err != nil {
return []byte{}, err
}
b := bytes.Buffer{}
w := bufio.NewWriter(&b)

View File

@@ -20,15 +20,13 @@ func (c Client) GetUserInfo(ctx context.Context) (types.UserResponseModel, error
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return types.UserResponseModel{}, err
}
switch res.StatusCode {
case 401:
return types.UserResponseModel{}, ErrUnauthorized
case 200:
if err != nil {
return types.UserResponseModel{}, err
}
var user types.UserResponseModel
defer res.Body.Close()
jerr := json.NewDecoder(res.Body).Decode(&user)
@@ -53,5 +51,8 @@ func (c Client) GetUserInfo(ctx context.Context) (types.UserResponseModel, error
func (c Client) GetSubscriptionInfo(ctx context.Context) (types.Subscription, error) {
info, err := c.GetUserInfo(ctx)
if err != nil {
return types.Subscription{}, err
}
return info.Subscription, err
}

View File

@@ -44,13 +44,13 @@ func (c Client) CreateVoice(ctx context.Context, name, description string, label
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return err
}
switch res.StatusCode {
case 401:
return ErrUnauthorized
case 200:
if err != nil {
return err
}
return nil
case 422:
fallthrough
@@ -78,13 +78,13 @@ func (c Client) DeleteVoice(ctx context.Context, voiceID string) error {
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return err
}
switch res.StatusCode {
case 401:
return ErrUnauthorized
case 200:
if err != nil {
return err
}
return nil
case 422:
fallthrough
@@ -114,13 +114,13 @@ func (c Client) EditVoiceSettings(ctx context.Context, voiceID string, settings
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return err
}
switch res.StatusCode {
case 401:
return ErrUnauthorized
case 200:
if err != nil {
return err
}
so := types.SynthesisOptions{}
defer res.Body.Close()
jerr := json.NewDecoder(res.Body).Decode(&so)
@@ -172,13 +172,13 @@ func (c Client) EditVoice(ctx context.Context, voiceID, name, description string
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return err
}
switch res.StatusCode {
case 401:
return ErrUnauthorized
case 200:
if err != nil {
return err
}
return nil
case 422:
fallthrough
@@ -206,13 +206,13 @@ func (c Client) defaultVoiceSettings(ctx context.Context) (types.SynthesisOption
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return types.SynthesisOptions{}, err
}
switch res.StatusCode {
case 401:
return types.SynthesisOptions{}, ErrUnauthorized
case 200:
if err != nil {
return types.SynthesisOptions{}, err
}
so := types.SynthesisOptions{}
defer res.Body.Close()
jerr := json.NewDecoder(res.Body).Decode(&so)
@@ -246,13 +246,13 @@ func (c Client) GetVoiceSettings(ctx context.Context, voiceID string) (types.Syn
req.Header.Set("User-Agent", "github.com/taigrr/elevenlabs")
req.Header.Set("accept", "application/json")
res, err := client.Do(req)
if err != nil {
return types.SynthesisOptions{}, err
}
switch res.StatusCode {
case 401:
return types.SynthesisOptions{}, ErrUnauthorized
case 200:
if err != nil {
return types.SynthesisOptions{}, err
}
so := types.SynthesisOptions{}
defer res.Body.Close()
jerr := json.NewDecoder(res.Body).Decode(&so)