Skip to content

Commit f6756b3

Browse files
committed
added Delete method
1 parent 734c50e commit f6756b3

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

videobox/videobox_delete.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package videobox
2+
3+
import (
4+
"net/http"
5+
"net/url"
6+
7+
"github.com/pkg/errors"
8+
)
9+
10+
// Delete removes the results for a video.
11+
func (c *Client) Delete(id string) error {
12+
u, err := url.Parse(c.addr + "/videobox/results/" + id)
13+
if err != nil {
14+
return err
15+
}
16+
if !u.IsAbs() {
17+
return errors.New("box address must be absolute")
18+
}
19+
req, err := http.NewRequest(http.MethodDelete, u.String(), nil)
20+
if err != nil {
21+
return err
22+
}
23+
req.Header.Set("Accept", "application/json; charset=utf-8")
24+
resp, err := c.HTTPClient.Do(req)
25+
if err != nil {
26+
return err
27+
}
28+
defer resp.Body.Close()
29+
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
30+
return errors.New(resp.Status)
31+
}
32+
return nil
33+
}

videobox/videobox_delete_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package videobox_test
2+
3+
import (
4+
"net/http"
5+
"net/http/httptest"
6+
"testing"
7+
8+
"github.com/machinebox/sdk-go/videobox"
9+
"github.com/matryer/is"
10+
)
11+
12+
func TestDelete(t *testing.T) {
13+
is := is.New(t)
14+
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
15+
is.Equal(r.Method, "DELETE")
16+
is.Equal(r.URL.Path, "/videobox/results/5a50b8067eced76bad103c53dd0f5226")
17+
is.Equal(r.Header.Get("Accept"), "application/json; charset=utf-8")
18+
}))
19+
defer srv.Close()
20+
vb := videobox.New(srv.URL)
21+
err := vb.Delete("5a50b8067eced76bad103c53dd0f5226")
22+
is.NoErr(err)
23+
}

0 commit comments

Comments
 (0)