-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.go
51 lines (44 loc) · 1.28 KB
/
types.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package sc
import (
"net/http"
simplejson "github.com/bitly/go-simplejson"
)
/*
This file contains various utility types and other internal
structures used throughout. SecurityCenter data types,
(i.e. scans, assets, users, groups, etc.) can be found
defined in their respective files.
*/
// SC is the request multiplexor for various SC API requsts
type SC struct {
Host string
Keys map[string]string
}
// Request is the request factory for raw requests to SC
type Request struct {
sc *SC
method string
path string
data map[string]interface{}
}
// scResp is the type used to marshal API responses from SecurityCenter
type scResp struct {
ErrorCode int `json:"error_code"`
ErrorMsg string `json:"error_msg"`
Timestamp int64 `json:"timestamp"`
Type string `json:"type"`
Warnings interface{} `json:"warnings,omitempty"`
}
// Response is the result returned from a raw request to SC
type Response struct {
// Status code of the HTTP request made
Status int
// URL of the HTTP request made
URL string
// Data response from the API in simplejson/json format
Data *simplejson.Json
// RespBody is the []byte of the API response body
RespBody []byte
// HTTPResp is the raw net/http request for easy request customizations
HTTPResp *http.Response
}