-
Notifications
You must be signed in to change notification settings - Fork 1
/
helpers.go
28 lines (27 loc) · 615 Bytes
/
helpers.go
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
package SibylSystem
func Client(token string, opts *ClientOpts) (*SibylSystem, error) {
if opts == nil {
opts = &ClientOpts{
ApiUrl: DefaultApiUrl,
}
}
if opts.ApiUrl == "" {
opts.ApiUrl = DefaultApiUrl
}
if string(opts.ApiUrl[len(opts.ApiUrl)-1]) != "/" {
opts.ApiUrl = opts.ApiUrl + "/"
}
var s = &SibylSystem{}
s.TimeOut = opts.TimeOut
s.Token = token
s.ApiUrl = opts.ApiUrl
// Ignore error on CheckToken method as it would already be handled in succeeding calls
t, err := s.CheckToken()
if !t {
if err != nil {
return nil, err
}
return nil, ErrInvalidToken
}
return s, nil
}