MCPcopy Create free account
hub / github.com/eventure/hide.client.linux / postJson

Method postJson

rest/client.go:169–182  ·  view source on GitHub ↗
( ctx context.Context, url string, object interface{} )

Source from the content-addressed store, hash-verified

167func ( 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
182func ( 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 )

Callers 5

ConnectMethod · 0.95
DisconnectMethod · 0.95
GetAccessTokenMethod · 0.95
ApplyFilterMethod · 0.95
EnablePortForwardingMethod · 0.95

Calls 2

CloseMethod · 0.80
ErrHttpStatusTypeAlias · 0.70

Tested by

no test coverage detected