Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs.
Java Groovy R Shell Scala Python Other
Latest commit 81c3684 May 31, 2017 @ssheng ssheng [pegasus] Make AsyncPoolImpl consistent returning a Cancellable but c…
…annot be cancelled instead of null

RB=972175
G=si-core-reviewers
R=fcapponi
A=dhoa
Permalink
Failed to load latest commit information.
buildSrc Isolation of gradle's classpath from pegasus plugin's classpath. Sep 16, 2016
build_script Add Pegasus data schema language (.pdl). Feb 1, 2017
d2-benchmark Add new consistent hash ring implementation which is more balanced an… Jul 29, 2016
d2-contrib [pegasus] Remove default values for zkHosts Apr 28, 2016
d2-int-test Bump zookeeper to 3.4.6 and fix a flaky d2 test Apr 20, 2016
d2-schemas Count server error when calculating error rate Oct 20, 2016
d2 Add D2Monitor to support D2Event May 26, 2017
data-avro-1_6 SI-1952: (1) Enable file resolution for SchemaTranslator and (2) prop… Jun 22, 2015
data-avro-generator Moving long noisy log messages to debug level May 11, 2017
data-avro To enable reserialization of .pdsc and .pdl files back to why they we… Feb 18, 2017
data-transform Added required vs optional validation for partial updates. Aug 4, 2015
data Add field aliases, field order, and include after support to PDL May 5, 2017
degrader Count server error when calculating error rate Oct 20, 2016
examples Bump dependency for example projects and fix build. Apr 29, 2016
generator-test Add field aliases, field order, and include after support to PDL May 5, 2017
generator Moving long noisy log messages to debug level May 11, 2017
gradle-plugins Make check tasks incremental May 24, 2017
gradle/wrapper Bump dependency for example projects and fix build. Apr 29, 2016
li-jersey-uri Support surrogate pairs for UTF-16 strings in URI encoding/decoding a… Feb 11, 2017
log-test-config Adding log4j-to-log4j2 adapter Apr 21, 2015
multipart-mime Fixed a namespace issue broken the compilation Mar 6, 2017
pegasus-common Fixed SI-3070 and related issues Sep 26, 2016
r2-core [pegasus] Make AsyncPoolImpl consistent returning a Cancellable but c… May 31, 2017
r2-disruptor [pegasus] Extract interface from RestClient and add a DisruptRestClie… Mar 25, 2017
r2-filter-compression Modifying client compression filter to allow compression header on nu… Feb 16, 2017
r2-int-test [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017
r2-jetty [pegasus] Netty HTTP/2 client implementation Aug 1, 2016
r2-netty Adding announcement of which service is bound to which ChannelPoolMan… May 31, 2017
r2-perf-test [pegasus] Increase max heap size to 4g for tests Aug 6, 2016
r2-sample [pegasus] Add HTTP protocol version to request context Aug 24, 2016
r2-testutils Make CapRep work in streaming when activated Dec 10, 2015
r2 This change introduces R2 streaming support on client side & server s… Dec 4, 2015
restli-client-parseq Upgraded parseq version to 2.6.4. Dec 9, 2016
restli-client-testutils [pegasus] Extract interface from RestClient and add a DisruptRestClie… Mar 25, 2017
restli-client-util-recorder Factor out PatchRequestRecorder and related classes into a new module. May 18, 2015
restli-client Moving the logic around creating the BatchKVResponse schema to the sc… Apr 2, 2017
restli-common-testutils Provide a utility to perform semantic equality comparison for two peg… Apr 7, 2017
restli-common Encode HttpOnly for cookies that are set with this flag. May 12, 2017
restli-contrib-spring Imported pegasus source Sep 18, 2012
restli-disruptor [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017
restli-docgen PDSC package override support with tests added for generator, idlgen,… Nov 8, 2016
restli-example-api Add attribute pagingSupported in method schema and indicate in restsp… Jan 25, 2017
restli-example-client Factored out Netty. May 13, 2015
restli-example-server Releasing new version Mar 18, 2017
restli-extras Factored out Netty. May 13, 2015
restli-guice-bridge Releasing new version Mar 18, 2017
restli-int-test-api Added ability to share data between filters and resources Mar 14, 2017
restli-int-test-client Migrate to log4j2 internally in pegasus Apr 20, 2015
restli-int-test-server Releasing new version Mar 18, 2017
restli-int-test Make RestLiDataValidator aware of wilcard for projecting Union members. Mar 31, 2017
restli-internal-testutils Checking in rest.li streaming Apr 6, 2016
restli-netty-standalone Releasing new version Mar 18, 2017
restli-server-extras Fixed test failures in TestMultiplexerRunMode and TestParseqTraceDebu… Dec 22, 2016
restli-server-standalone Releasing new version Mar 18, 2017
restli-server-testutils Fix one of ResponseDataBuilderUtil helper methods to return the corre… Mar 27, 2017
restli-server Honor ErrorResponseFormat for exception thrown within multiplexer (or… May 25, 2017
restli-spring-bridge Releasing new version Mar 18, 2017
restli-tools-scala Introduce doc support for action return types Sep 8, 2014
restli-tools Moving long noisy log messages to debug level May 11, 2017
test-util Imported pegasus source Sep 18, 2012
tools Imported pegasus source Sep 18, 2012
.gitignore Added rule to ignore .DS_Store Nov 16, 2016
.reviewboardrc Add Review Board support. Sep 18, 2012
CHANGELOG [pegasus] Make AsyncPoolImpl consistent returning a Cancellable but c… May 31, 2017
LICENSE.TXT RB=97682 Add LICENSE.TXT, using version recommended by Alejandro Pere… Nov 30, 2012
README.md fixed grammar error (#70) Feb 11, 2017
RESTLI-2-RELEASE-NOTES.md Added Rest.li 2.*.* release notes. Dec 17, 2014
URI.md Add protocol 2 URIs for BatchGetRequestBuilderTest. Oct 20, 2014
build.gradle [pegasus] Upgrade to Netty 4.1.6 and remove maxHeaderSize from Http2S… May 4, 2017
checkout-tag Fix glitch of checkout-tag script that print message regardless of gi… Sep 18, 2012
defaultEnvironment.gradle Migrate code from EasyMock 2.4 to 3.1. Nov 30, 2012
gradle.properties Updating version number May 24, 2017
gradlew Use Gradle 1.12. Jun 19, 2014
gradlew.bat RB=97672 Add gradle-wrapper, to ensure predictable gradle version for… Nov 30, 2012
release-version Fix release-version. Aug 26, 2015
settings.gradle [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017

README.md

Rest.li is an open source REST framework for building robust, scalable RESTful architectures using type-safe bindings and asynchronous, non-blocking IO. Rest.li fills a niche for applying RESTful principals at scale with an end-to-end developer workflow for building REST APIs, which promotes clean REST practices, uniform interface design and consistent data modeling.

Source | Documentation | Discussion Group

Features

  • End-to-end framework for building RESTful APIs
  • Approachable APIs for writing non-blocking client and server code using ParSeq
  • Type-safe development using generated data and client bindings
  • JAX-RS inspired annotation driven server side resource development
  • Engineered and battle tested for high scalability and high availability
  • Optional Dynamic Discovery subsystem adds client side load balancing and fault tolerance
  • Backward compatibility checking to ensure all API changes are safe
  • Support for batch operations, partial updates and projections
  • Web UI for browsing and searching a catalog of rest.li APIs.

Website

http://rest.li

Documentation

See our wiki for full documentation and examples.

Community

Quickstart Guides and Examples