Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs.
Java Groovy Python HTML R Shell Other
Latest commit aa384be Mar 8, 2018
ssheng [pegasus] Set proper default for HttpServerBuilder class
RB=1236289
G=si-core-reviewers
R=fcapponi
A=fcapponi
Permalink
Failed to load latest commit information.
buildSrc Isolation of gradle's classpath from pegasus plugin's classpath. Sep 16, 2016
build_script Added type parameter for RestLiResponseEnvelope to RestLiResponseData… Sep 12, 2017
d2-benchmark Add new consistent hash ring implementation which is more balanced an… Jul 29, 2016
d2-contrib Release 15.1.6 Oct 11, 2017
d2-int-test Bump zookeeper to 3.4.6 and fix a flaky d2 test Apr 20, 2016
d2-schemas Add LogThreshold property to degrader Feb 17, 2018
d2 Added XXHash as an alternative to MD5 for partition accessor Mar 7, 2018
data-avro-1_6 SI-1952: (1) Enable file resolution for SchemaTranslator and (2) prop… Jun 22, 2015
data-avro-generator PDSC to AVSC translator supports namespace override based on cmd option Feb 23, 2018
data-avro PDSC to AVSC translator supports namespace override based on cmd option Feb 23, 2018
data-testutils Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
data-transform Update MaskTree#getOperations method to handle array range attributes. Dec 6, 2017
data Enable setting default values for custom type parameters. Mar 8, 2018
degrader Change some degrader logging messages from 'warn' to 'info' Feb 28, 2018
entity-stream Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
examples Set the pegasus version in example/quistart module to latest version in Feb 23, 2018
generator-test Changes to specify array ranges while projecting fields. Nov 8, 2017
generator Make CodeUtil.getUnionMemberName(UnionTemplate.Member) public to make it Dec 12, 2017
gradle-plugins Move mkdir to write/execution time Nov 15, 2017
gradle/wrapper Gradle 4.* upgrade for open source pegasus Aug 2, 2017
li-java9-flow Updated unstructured data streaming to use Java 9 Flow APIs Dec 20, 2017
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 Improve the test execution for multipart-mime tests. Server is Sep 13, 2017
pegasus-common Route resource request before adapting StreamRequest to RestRequest. Feb 6, 2018
r2-core Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
r2-disruptor [pegasus] Extract interface from RestClient and add a DisruptRestClie… Mar 25, 2017
r2-filter-compression Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
r2-int-test Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
r2-jetty 1) Introduced early handshake for Http1.1 and Http2. The early handsh… Sep 12, 2017
r2-netty [pegasus] Set proper default for HttpServerBuilder class Mar 8, 2018
r2-perf-test Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
r2-sample SI-4041 Add SSL support for netty server, deprecate HttpNettyServerFa… Jan 12, 2018
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 Fix NPE for addFields, addMetadataFields, addPagingFields Feb 28, 2018
restli-common-testutils Provide a utility to perform semantic equality comparison for two peg… Apr 7, 2017
restli-common Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
restli-contrib-spring Imported pegasus source Sep 18, 2012
restli-disruptor [pegasus] Relax multiple DisruptRestControllerContainer::setInstance … Oct 13, 2017
restli-docgen Refactored handlers for non-resource request. Sep 27, 2017
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 Revert "Enhance keyMapV3 to honor affinity routing configuration in d… Feb 22, 2018
restli-guice-bridge Releasing new version Mar 18, 2017
restli-int-test-api Integration tests for projecting array fields with specific ranges. Nov 16, 2017
restli-int-test-client Migrate to log4j2 internally in pegasus Apr 20, 2015
restli-int-test-server Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
restli-int-test Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018
restli-internal-testutils Checking in rest.li streaming Apr 6, 2016
restli-netty-standalone SI-4041 Add SSL support for netty server, deprecate HttpNettyServerFa… Jan 12, 2018
restli-server-extras Route resource request before adapting StreamRequest to RestRequest. Feb 6, 2018
restli-server-standalone Releasing new version Mar 18, 2017
restli-server-testutils Added type parameter for RestLiResponseEnvelope to RestLiResponseData… Sep 12, 2017
restli-server Enable setting default values for custom type parameters. Mar 8, 2018
restli-spring-bridge Releasing new version Mar 18, 2017
restli-tools-scala Fix unit test broken in 1196197 Jan 18, 2018
restli-tools Added Blob-as-Resource support for sync Sep 25, 2017
test-util Adding the ability to set the request timeout on a per-request basis Jan 12, 2018
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] Set proper default for HttpServerBuilder class Mar 8, 2018
LICENSE.TXT RB=97682 Add LICENSE.TXT, using version recommended by Alejandro Pere… Nov 30, 2012
README.md Fixing typos Jun 23, 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] Set proper default for HttpServerBuilder class Mar 8, 2018
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 Releasing version 20.0.4 Mar 7, 2018
gradlew Gradle 4.* upgrade for open source pegasus Aug 2, 2017
gradlew.bat Bump open source to Gradle 3.5. Make most tasks cacheable. Jul 19, 2017
release-version Fix release-version. Aug 26, 2015
settings.gradle Moved R2 streaming library to a separate module and made it generic. Mar 2, 2018

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 principles 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