Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add async HTTP support based on Apache's HttpAsyncClient #51

Merged
merged 36 commits into from
Oct 27, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
f41a27f
Support for async communication using Apache's HttpAsyncClient. Added…
Oct 3, 2013
c248403
added stream test.
Oct 3, 2013
9216170
Changed method signature of callback interface. Make sure Future retu…
Oct 4, 2013
4b86cd5
Code refactoring to simplify the async and callback interfaces. Imple…
Oct 4, 2013
e9035c9
Added streaming support for Observable.
Oct 5, 2013
2ba22b8
Added support for parallel execution and canceling future.
Oct 8, 2013
bb38ed1
Refactor and consolidation. Use HttpReuqest and HttpResponse for Rest…
Oct 8, 2013
85b4ba0
Added API and test to create load balancing async client with HttpAsy…
Oct 9, 2013
62c85ee
Added examples sub project. Changed the serializer interface to use O…
Oct 10, 2013
f22736f
Added LoadBalancerErrorHandler and provided default implementation an…
Oct 10, 2013
b290b8a
Rename FullResponseCallback to BufferedResponseCallback
Oct 10, 2013
b40cbc0
Added more API to query executeWithBackupRequests() results. Make sur…
Oct 11, 2013
7b1ee0a
Rename test. Added getExecutedURI() to query the host where the actua…
Oct 11, 2013
eff1722
Added more examples. Remove declared IOException from HttpResponse.cl…
Oct 12, 2013
22c0b5f
Added Http async interfaces to hide generic types for convenience. Ad…
Oct 14, 2013
bdf491a
Added more examples.
Oct 14, 2013
63d80d2
Make all responses Closeable. Close consumers and responses for strea…
Oct 15, 2013
c59bf0b
Do no close content when the consumer is AsyncByteConsumer (throws Il…
Oct 15, 2013
014a1c7
Added copyright notices. Added API that does not take callback as a p…
Oct 15, 2013
dedd19d
javadoc update.
Oct 16, 2013
0a68847
More javadoc added.
Oct 17, 2013
a419339
Merge commit 'ec4de6ad76556e12bee93156307d69f9bbfec295' into cp
Oct 17, 2013
15120ad
Fix junit failure: set exception or response first before latch count…
Oct 17, 2013
6d3945b
Junit test update as CloudBee build server seems to have different be…
Oct 17, 2013
c5a2d11
fix minor javadocs.
Oct 17, 2013
1bedc56
Test update.
Oct 17, 2013
ee18bb5
Enable debug output to connection pool counter test to gain some insi…
Oct 17, 2013
a8d5763
Added more debug output for testing connection pool counters.
Oct 17, 2013
1eec5ae
Remove check style. Make connection pool test in separate test and us…
Oct 17, 2013
ad99c13
Clean up compiler warnings. Remove dependency on jersey-bundle and ad…
Oct 18, 2013
34007d2
Test update
Oct 18, 2013
240972e
Added monitoring capability for missed server list update cycles.
Oct 18, 2013
d0f6b0f
Added monitoring capability for missed server list update cycles.
Oct 18, 2013
fe6db0e
Dependency versions update.
Oct 22, 2013
a061880
Added example of deserialization with a List with generic type.
Oct 22, 2013
9bab116
Add internal buffering to any unconsumed data by the decoder so that …
Oct 25, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 30 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,34 +26,35 @@ subprojects {

dependencies {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these dependencies common for all of the submodules, including ribbon-core?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's correct.

compile 'org.slf4j:slf4j-api:1.6.4'
compile 'com.netflix.servo:servo-core:0.4.32'
compile 'com.netflix.servo:servo-core:0.4.44'
compile 'com.google.guava:guava:14.0.1'
compile 'com.netflix.archaius:archaius-core:0.5.11'
compile 'com.netflix.archaius:archaius-core:0.5.12'
compile 'com.netflix.netflix-commons:netflix-commons-util:0.1.1'
compile 'commons-collections:commons-collections:3.2.1'
testCompile 'junit:junit:4.10'
testCompile 'log4j:log4j:1.2.16'
testCompile 'org.slf4j:slf4j-log4j12:1.6.4'
testCompile 'org.slf4j:slf4j-log4j12:1.7.2'

}
}

project(':ribbon-core') {
dependencies {
compile 'com.netflix.netflix-commons:netflix-statistics:0.1.1'
compile 'com.netflix.rxjava:rxjava-core:0.14.2'
}
}

project(':ribbon-httpclient') {
dependencies {
compile project(':ribbon-core')
compile 'org.apache.httpcomponents:httpclient:4.2.1'
compile 'com.sun.jersey:jersey-bundle:1.9.1'
compile 'com.sun.jersey:jersey-client:1.11'
compile 'com.sun.jersey:jersey-core:1.11'
compile 'javax.ws.rs:jsr311-api:1.1.1'
compile 'com.sun.jersey.contribs:jersey-apache-client4:1.8'
compile 'com.sun.jersey.contribs:jersey-apache-client4:1.11'
testCompile 'asm:asm-all:3.2'
testCompile 'commons-io:commons-io:2.0.1'
testCompile 'com.sun.jersey:jersey-server:1.9.1'
testCompile 'com.sun.jersey:jersey-server:1.11'
testCompile 'com.google.mockwebserver:mockwebserver:20130505'
}
}
Expand All @@ -64,3 +65,25 @@ project(':ribbon-eureka') {
compile 'com.netflix.eureka:eureka-client:1.1.107'
}
}

project(':ribbon-httpasyncclient') {
dependencies {
compile project(':ribbon-core')
compile 'org.apache.httpcomponents:httpasyncclient:4.0-beta4'
testCompile 'com.sun.jersey:jersey-server:1.11'
testCompile 'com.sun.jersey:jersey-core:1.11'
testCompile 'asm:asm-all:3.2'
testCompile 'commons-io:commons-io:2.0.1'
}
}

project(':ribbon-examples') {
dependencies {
compile project(':ribbon-httpclient')
compile project(':ribbon-httpasyncclient')
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.thoughtworks.xstream:xstream:1.4.5'
compile 'com.sun.jersey:jersey-server:1.11'
}
}

3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
version=0.2.5-SNAPSHOT
version=0.3.0

3 changes: 2 additions & 1 deletion gradle/check.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
subprojects {
// Checkstyle
/*
apply plugin: 'checkstyle'
checkstyle {
ignoreFailures = true
configFile = rootProject.file('codequality/checkstyle.xml')
}

*/
// FindBugs
apply plugin: 'findbugs'
tasks.withType(FindBugs) {
Expand Down
Loading