An open API service indexing awesome lists of open source software.

https://github.com/robertvazan/hookless-servlets

Reactive adapters for javax.servlet.* classes.
https://github.com/robertvazan/hookless-servlets

hookless java java-library java-servlets reactive reactive-http-server reactive-programming servlets

Last synced: 2 months ago
JSON representation

Reactive adapters for javax.servlet.* classes.

Awesome Lists containing this project

README

          

[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)

# Hookless Servlets

[![Maven Central](https://img.shields.io/maven-central/v/com.machinezoo.hookless/hookless-servlets)](https://central.sonatype.com/artifact/com.machinezoo.hookless/hookless-servlets)
[![Build status](https://github.com/robertvazan/hookless-servlets/workflows/build/badge.svg)](https://github.com/robertvazan/hookless-servlets/actions/workflows/build.yml)
[![Test coverage](https://codecov.io/gh/robertvazan/hookless-servlets/branch/master/graph/badge.svg)](https://codecov.io/gh/robertvazan/hookless-servlets)

Reactive servlet as implemented in [`ReactiveServlet`](https://hookless.machinezoo.com/javadocs/servlets/com.machinezoo.hookless.servlets/com/machinezoo/hookless/servlets/ReactiveServlet.html) class
is a [reactive adapter](https://hookless.machinezoo.com/adapters) for Jakarta's
[`HttpServlet`](https://javadoc.io/static/jakarta.servlet/jakarta.servlet-api/5.0.0/jakarta/servlet/http/HttpServlet.html).
Reactive servlet is a [reactive consumer](https://hookless.machinezoo.com/consumer).
It will keep running its handler method until the handler no longer [reactively blocks](https://hookless.machinezoo.com/blocking).
It will then send the last output of the handler to the client as an HTTP response.
Reactive servlet is fully asynchronous. It never blocks servlet container threads.

More on [homepage](https://hookless.machinezoo.com/servlets).

## Status

Experimental. [Stagean](https://stagean.machinezoo.com/) is used to track progress on class and method level.

## Getting started

See [homepage](https://hookless.machinezoo.com/servlets).

## Documentation

* [Homepage](https://hookless.machinezoo.com/servlets)
* [Javadoc](https://hookless.machinezoo.com/javadocs/servlets/com.machinezoo.hookless.servlets/com/machinezoo/hookless/servlets/package-summary.html)

Some APIs are undocumented. You might have to peek in the [source code](src/main/java/com/machinezoo/hookless/servlets).

## Feedback

Bug reports and pull requests are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

Distributed under [Apache License 2.0](LICENSE).