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 a79cf45 Sep 25, 2017 @ssheng ssheng [cap-backend] Refactor D2 transportClientProperties in to common prop…
…erty and add http.protocolVersion to allowedClientOverrideKeys

RB=1109051
G=si-core-reviewers
R=tkhemka
A=tkhemka,dhoa,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 [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 Allow d2 clients to configure http.poolStatsNamePrefix in d2.src Sep 25, 2017
d2 Allow d2 clients to configure http.poolStatsNamePrefix in d2.src Sep 25, 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 Data translator changes for supporting Pegasus union with aliases. Jul 10, 2017
data-transform Added required vs optional validation for partial updates. Aug 4, 2015
data Reintroducing UnionDataSchema#getType() to ease the migration to Unio… Jul 18, 2017
degrader Preliminary D2Event schema and D2Event support Jul 20, 2017
examples [d2-quickstart] client.json - move comments in a safe section Jun 24, 2017
generator-test Remove 'type' based methods in UnionDataSchema and cleanup pegasus co… Jul 10, 2017
generator Remove 'type' based methods in UnionDataSchema and cleanup pegasus co… Jul 10, 2017
gradle-plugins Fixing TestPathingJarUtil Sep 25, 2017
gradle/wrapper Gradle 4.* upgrade for open source pegasus Aug 2, 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 Fixed SI-3070 and related issues Sep 26, 2016
r2-core [cap-backend] Refactor D2 transportClientProperties in to common prop… Sep 26, 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 1) Introduced early handshake for Http1.1 and Http2. The early handsh… Sep 12, 2017
r2-jetty 1) Introduced early handshake for Http1.1 and Http2. The early handsh… Sep 12, 2017
r2-netty [cap-backend] Refactor D2 transportClientProperties in to common prop… Sep 26, 2017
r2-perf-test [pegasus] Increase max heap size to 4g for tests Aug 6, 2016
r2-sample Allowing user to specify the "expected server's certificate principal… Jul 26, 2017
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 Support custom content-types/DataCodecs in Rest.Li. This change also Jul 11, 2017
restli-common-testutils Provide a utility to perform semantic equality comparison for two peg… Apr 7, 2017
restli-common Added Blob-as-Resource support for sync Sep 25, 2017
restli-contrib-spring Imported pegasus source Sep 18, 2012
restli-disruptor [pegasus] Implement disruptor interfaces and core classes Jan 31, 2017
restli-docgen Support custom content-types/DataCodecs in Rest.Li. This change also Jul 11, 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 Factored out Netty. May 13, 2015
restli-guice-bridge Releasing new version Mar 18, 2017
restli-int-test-api Added Blob-as-Resource support for sync Sep 25, 2017
restli-int-test-client Migrate to log4j2 internally in pegasus Apr 20, 2015
restli-int-test-server Added Blob-as-Resource support for sync Sep 25, 2017
restli-int-test Added Blob-as-Resource support for sync Sep 25, 2017
restli-internal-testutils Checking in rest.li streaming Apr 6, 2016
restli-netty-standalone Releasing new version Mar 18, 2017
restli-server-extras Support custom content-types/DataCodecs in Rest.Li. This change also Jul 11, 2017
restli-server-standalone Releasing new version Mar 18, 2017
restli-server-testutils Added type parameter for RestLiResponseEnvelope to RestLiResponseData… Sep 12, 2017
restli-server Added Blob-as-Resource support for sync Sep 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 Added Blob-as-Resource support for sync Sep 25, 2017
test-util 1) Introduced early handshake for Http1.1 and Http2. The early handsh… Sep 12, 2017
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 [cap-backend] Refactor D2 transportClientProperties in to common prop… Sep 26, 2017
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] Fail promise if h2c upgrade or alpn negotiation do not comp… Aug 9, 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 Releasing 15.0.3 Sep 25, 2017
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 [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 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