Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated example for latest HTTPBuilder version



provides a convenient builder API for complex HTTP requests

. It is built on top of Apache HttpClient.
The project home page includes full documentation and downloads.

Note that if you are using the example below works for HTTPBuilder version 0.5.0 RC1, url is now uri and query is now params. The code example below was written for versions prior to 0.5.0 RC1.-RC2. In prior versions, the uri property was called url. Also note that @Grab dependency management requires Groovy 1.6 or later. More information may be found here.

Example: HTTP GET, automatically parsed as a JSON response.

Code Block
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.5.0-RC2' )
import static*
import static*

def http = new HTTPBuilder( '' )

// perform a GET request, expecting JSON response data
http.request( GET, JSON ) {
  urluri.path = '/ajax/services/search/web'
  urluri.query = [ v:'1.0', q: 'Calvin and Hobbes' ]

  headers.'User-Agent' = 'Mozilla/5.0 Ubuntu/8.10 Firefox/3.0.4'

  // response handler for a success response code:
  response.success = { resp, json ->
    println resp.statusLine

    // parse the JSON response object:
    json.responseData.results.each {
      println "  ${it.titleNoFormatting} : ${it.visibleUrl}"

  // handler for any failure status code:
  response.failure = { resp ->
    println "Unexpected error: ${resp.statusLine.statusCode} : ${resp.statusLine.reasonPhrase}"