17. INITIALIZATION - APACHE
import groovyx.net.http.ApacheHttpBuilder
import groovyx.net.http.HttpBuilder
class Apache {
private HttpBuilder httpBuilder
void init() {
httpBuilder = HttpBuilder.configure({ c ->
new ApacheHttpBuilder(c)
})
}
}
18. INITIALIZATION - APACHE
import groovyx.net.http.ApacheHttpBuilder
import groovyx.net.http.HttpBuilder
class Apache {
private HttpBuilder httpBuilder
void init() {
httpBuilder = HttpBuilder.configure({ c ->
new ApacheHttpBuilder(c)
})
}
} Factory function for
configuration
19. INITIALIZATION - OKHTTP
import groovyx.net.http.HttpBuilder
import groovyx.net.http.OkHttpBuilder
class Ok {
private HttpBuilder httpBuilder
void init() {
httpBuilder = HttpBuilder.configure({ c ->
new OkHttpBuilder(c)
})
}
}
20. INITIALIZATION - OKHTTP
import groovyx.net.http.HttpBuilder
import groovyx.net.http.OkHttpBuilder
class Ok {
private HttpBuilder httpBuilder
void init() {
httpBuilder = HttpBuilder.configure({ c ->
new OkHttpBuilder(c)
})
}
} Same factory.
Different Impl
21. INITIALIZED! NOW WHAT?
def result = HttpBuilder.configure({
request.uri = 'http://serenity.ship'
})
.get()
22. INITIALIZED! NOW WHAT?
def result = HttpBuilder.configure({
request.uri = 'http://serenity.ship'
})
.get()
Configure can access
request
23. INITIALIZED! NOW WHAT?
def result = HttpBuilder.configure({
request.uri = 'http://serenity.ship'
})
.post({
request.uri.path = '/api'
response.success({})
})
24. INITIALIZED! NOW WHAT?
def result = HttpBuilder.configure({
request.uri = 'http://serenity.ship'
})
.post({
request.uri.path = '/api'
response.success({})
})
Method may extend
request config
25. INITIALIZED! NOW WHAT?
def result = HttpBuilder.configure({
request.uri = 'http://serenity.ship'
})
.post({
request.uri.path = '/api'
response.success({})
})
Method may extend
request config
Method may also hook
to response events
28. HEADER PARSERS
if (headerName == 'Last-Modified') {
//Construct proper date pattern and parse
} else if (headerName == 'Age') {
//Parse long
} else if (headerName == 'Content-Disposition') {
//Parse and assemble map
}