all repos — telegram-bot-api @ c6bf64c67d2d1002b7fbec45608fb914d176616c

Golang bindings for the Telegram Bot API

Replace panic with CloseWithError.
Syfaro syfaro@huefox.com
Sat, 25 Jul 2020 23:36:31 -0500
commit

c6bf64c67d2d1002b7fbec45608fb914d176616c

parent

99b74b8efaa519636cf7f56afed97b65ecafb512

1 files changed, 18 insertions(+), 9 deletions(-)

jump to
M bot.gobot.go

@@ -160,7 +160,8 @@ defer m.Close()

for field, value := range params { if err := m.WriteField(field, value); err != nil { - panic(err) + w.CloseWithError(err) + return } }

@@ -169,20 +170,23 @@ switch f := file.File.(type) {

case string: fileHandle, err := os.Open(f) if err != nil { - panic(err) + w.CloseWithError(err) + return } defer fileHandle.Close() part, err := m.CreateFormFile(file.Name, fileHandle.Name()) if err != nil { - panic(err) + w.CloseWithError(err) + return } io.Copy(part, fileHandle) case FileBytes: part, err := m.CreateFormFile(file.Name, f.Name) if err != nil { - panic(err) + w.CloseWithError(err) + return } buf := bytes.NewBuffer(f.Bytes)

@@ -190,7 +194,8 @@ io.Copy(part, buf)

case FileReader: part, err := m.CreateFormFile(file.Name, f.Name) if err != nil { - panic(err) + w.CloseWithError(err) + return } if f.Size != -1 {

@@ -198,7 +203,8 @@ io.Copy(part, f.Reader)

} else { data, err := ioutil.ReadAll(f.Reader) if err != nil { - panic(err) + w.CloseWithError(err) + return } buf := bytes.NewBuffer(data)

@@ -207,15 +213,18 @@ }

case FileURL: val := string(f) if err := m.WriteField(file.Name, val); err != nil { - panic(err) + w.CloseWithError(err) + return } case FileID: val := string(f) if err := m.WriteField(file.Name, val); err != nil { - panic(err) + w.CloseWithError(err) + return } default: - panic(errors.New(ErrBadFileType)) + w.CloseWithError(errors.New(ErrBadFileType)) + return } } }()