aboutsummaryrefslogtreecommitdiff
path: root/web/tokiponatokens
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2019-02-02 06:53:12 -0800
committerChristine Dodrill <me@christine.website>2019-02-02 06:53:12 -0800
commit7bcfbc6a4da40f498af83e40c3c57ef02ec212cf (patch)
treeee224b7b08722e06d78f49bc557249891264e38f /web/tokiponatokens
parentda3595468056f1dd04d79c908f8a65dc0c5a397f (diff)
downloadx-7bcfbc6a4da40f498af83e40c3c57ef02ec212cf.tar.xz
x-7bcfbc6a4da40f498af83e40c3c57ef02ec212cf.zip
web: use error type, simplify some code
Diffstat (limited to 'web/tokiponatokens')
-rw-r--r--web/tokiponatokens/toki_pona.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/web/tokiponatokens/toki_pona.go b/web/tokiponatokens/toki_pona.go
index f1079cb..c3e3fe3 100644
--- a/web/tokiponatokens/toki_pona.go
+++ b/web/tokiponatokens/toki_pona.go
@@ -5,6 +5,8 @@ import (
"encoding/json"
"net/http"
"strings"
+
+ "github.com/Xe/x/web"
)
// Part is an individual part of a sentence.
@@ -90,6 +92,14 @@ const (
// Sentence is a series of sentence parts. This correlates to one Toki Pona sentence.
type Sentence []Part
+func validate(resp *http.Response) error {
+ if resp.StatusCode != http.StatusOK {
+ return web.NewError(http.StatusOK, resp)
+ }
+
+ return nil
+}
+
// Tokenize returns a series of toki pona tokens.
func Tokenize(aurl, text string) ([]Sentence, error) {
buf := bytes.NewBuffer([]byte(text))
@@ -105,6 +115,10 @@ func Tokenize(aurl, text string) ([]Sentence, error) {
return nil, err
}
defer resp.Body.Close()
+ err = validate(resp)
+ if err != nil {
+ return nil, err
+ }
var result []Sentence
err = json.NewDecoder(resp.Body).Decode(&result)