@ -3,6 +3,7 @@ package profitbricks
import (
"encoding/json"
"net/http"
"time"
)
type RequestStatus struct {
@ -26,6 +27,55 @@ type RequestTarget struct {
Status string ` json:"status,omitempty" `
}
type Requests struct {
Id string ` json:"id,omitempty" `
Type_ string ` json:"type,omitempty" `
Href string ` json:"href,omitempty" `
Items [ ] Request ` json:"items,omitempty" `
Response string ` json:"Response,omitempty" `
Headers * http . Header ` json:"headers,omitempty" `
StatusCode int ` json:"headers,omitempty" `
}
type Request struct {
ID string ` json:"id" `
Type string ` json:"type" `
Href string ` json:"href" `
Metadata struct {
CreatedDate time . Time ` json:"createdDate" `
CreatedBy string ` json:"createdBy" `
Etag string ` json:"etag" `
RequestStatus struct {
ID string ` json:"id" `
Type string ` json:"type" `
Href string ` json:"href" `
} ` json:"requestStatus" `
} ` json:"metadata" `
Properties struct {
Method string ` json:"method" `
Headers interface { } ` json:"headers" `
Body interface { } ` json:"body" `
URL string ` json:"url" `
} ` json:"properties" `
Response string ` json:"Response,omitempty" `
Headers * http . Header ` json:"headers,omitempty" `
StatusCode int ` json:"headers,omitempty" `
}
func ListRequests ( ) Requests {
url := mk_url ( "/requests" ) + ` ?depth= ` + Depth
req , _ := http . NewRequest ( "GET" , url , nil )
req . Header . Add ( "Content-Type" , FullHeader )
return toRequests ( do ( req ) )
}
func GetRequest ( req_id string ) Request {
url := mk_url ( "/requests/" + req_id ) + ` ?depth= ` + Depth
req , _ := http . NewRequest ( "GET" , url , nil )
req . Header . Add ( "Content-Type" , FullHeader )
return toRequest ( do ( req ) )
}
func GetRequestStatus ( path string ) RequestStatus {
url := mk_url ( path ) + ` ?depth= ` + Depth
req , _ := http . NewRequest ( "GET" , url , nil )
@ -41,3 +91,22 @@ func toRequestStatus(resp Resp) RequestStatus {
server . StatusCode = resp . StatusCode
return server
}
func toRequests ( resp Resp ) Requests {
var server Requests
json . Unmarshal ( resp . Body , & server )
server . Response = string ( resp . Body )
server . Headers = & resp . Headers
server . StatusCode = resp . StatusCode
return server
}
func toRequest ( resp Resp ) Request {
var server Request
json . Unmarshal ( resp . Body , & server )
server . Response = string ( resp . Body )
server . Headers = & resp . Headers
server . StatusCode = resp . StatusCode
return server
}