( ctx context.Context, url string, object interface{} )
| 167 | func ( c *Client ) postJson( ctx context.Context, url string, object interface{} ) ( responseBody []byte, err error ) { |
| 168 | body, err := json.MarshalIndent( object, "", "\t" ) |
| 169 | if err != nil { return } |
| 170 | request, err := http.NewRequestWithContext( ctx, "POST", url, bytes.NewReader( body ) ) |
| 171 | if err != nil { return } |
| 172 | request.Header.Set( "user-agent", userAgent ) |
| 173 | request.Header.Add( "content-type", "application/json" ) |
| 174 | response, err := c.client.Do( request ) |
| 175 | if err != nil { return } |
| 176 | defer response.Body.Close() |
| 177 | if response.StatusCode == http.StatusForbidden { log.Println( "Rest: [ERR] Application update required" ); return nil, ErrAppUpdateRequired } |
| 178 | if response.StatusCode != http.StatusOK { log.Println( "Rest: [ERR] Bad HTTP response (", response.StatusCode, ")" ); err = ErrHttpStatus( response.StatusCode ); return } |
| 179 | return io.ReadAll( response.Body ) |
| 180 | } |
| 181 | |
| 182 | func ( c *Client ) get( ctx context.Context, url string ) ( body []byte, headers http.Header, err error ) { |
| 183 | request, err := http.NewRequestWithContext( ctx, "GET", url, nil ) |
| 184 | if err != nil { return } |
| 185 | request.Header.Set( "user-agent", userAgent ) |
no test coverage detected