smart-http 是一款基于 smart-socket 的可编程式 http 应用微内核。
你可以将 smart-http 开发的程序部署在任何 Java 8 及以上版本的设备上。经过我们的不懈优化, 已经最大限度的降低程序运行期间对于内存和 GC 的开销。smart-http,是一款体现了作为开源人的工匠精神的作品。
开发示例
服务端
public class SimpleSmartHttp {
public static void main(String[] args) {
HttpBootstrap bootstrap = new HttpBootstrap();
bootstrap.httpHandler(new HttpServerHandler() {
@Override
public void handle(HttpRequest request, HttpResponse response) throws IOException {
response.write("hello smart-http<br/>".getBytes());
}
});
bootstrap.setPort(8080).start();
}
}
客户端
public class HttpGetDemo {
public static void main(String[] args) {
HttpClient httpClient = new HttpClient("www.baidu.com", 80);
httpClient.connect();
httpClient.get("/")
.onSuccess(response -> System.out.println(response.body()))
.onFailure(Throwable::printStackTrace)
.send();
}
}
更新内容
- smart-http-server 默认启用 aio-enhance。
- client 支持通过代理服务器转发 http 请求。
- Http Body 采用响应式解析。
- 支持自定义 Http 响应码和描述。
- client 支持指定超时时间。
- client 支持启用内存池。
- client 支持解压 gzip 响应内容。
- 优化异常码流可能导致的死循环问题。
- 移除 pipeline 的设计。
- 优化 Http 协议解析算法。
文档地址
GiteePages:https://smartboot.gitee.io/book/smart-http/