blob: 1374ed247ca5446fcfe13bb1332e381c433b77d6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package giphy
import (
"encoding/json"
"strings"
)
// Random returns a random response from the Giphy API
func (c *Client) Random(args []string) (Random, error) {
argsStr := strings.Join(args, " ")
req, err := c.NewRequest("/gifs/random?tag=" + argsStr)
if err != nil {
return Random{}, err
}
var random Random
if _, err = c.Do(req, &random); err != nil {
return Random{}, err
}
// Check if the first character in Data is a [
if random.RawData == nil || random.RawData[0] == '[' {
return Random{}, ErrNoImageFound
}
var d RandomData
err = json.Unmarshal(random.RawData, &d)
if err != nil {
return Random{}, err
}
random.Data = d
return random, nil
}
|