Class PutRequest


  • public class PutRequest
    extends HttpRequest

    Provides a PUT Request class for performing simple HTTP request operations. This class provides an easier and safer interface for the Apache HTTP Components library.

    The default connection timeout is 10 seconds and socket read timeout is 60 seconds. Socket connections will also apply any JVM proxy settings automatically.

    By default the maximum response read size is 16 MB. If the response is larger than this an IOException will be thrown. To increase the maximum read limit use the HttpRequest.setReadLimit(int) method.

    In RESTful services the PUT method is used to update resources.

    Examples

    The example below performs PUT request and converts the response into a JSON document.

     import com.avoka.tm.http.*
     import com.avoka.tm.util.*
    
     String message = '''{
         "cutomerId":82881,
         "name":"John Doe",
         "email":"[email protected]",
         "age":42
     }'''
    
     String username = svcDef.paramsMap.username
     String password = svcDef.paramsMap.password
    
     // execute PUT request and return a HttpResponse object
     HttpResponse response = new PutRequest('https://service.mycorp.com/secure/rest/accounts/')
           .setMessage(message)
           .setBasicAuth(username, password)
           .execute()
    
     if (response.isStatusOK()) {
         // get Path object from the response
         Path path = response.getPathContent()
         ...
    
     } else if (response.isStatusNotFound()) {
         // object not found
         ...
    
     } else {
         throw new RuntimeException(response.statusLine)
     } 
    Since:
    5.0.0
    See Also:
    DeleteRequest, GetRequest, PatchRequest, PostRequest
    • Constructor Detail

      • PutRequest

        public PutRequest​(String url)
        Create a PUT HTTP request object with the given URL.
        Parameters:
        url - the request URL (required)