smart-http 1.1.0 发布,可编程的 Http 应用微内核

栏目: 软件资讯 · 发布时间: 3年前

内容简介:smart-http 是一款比较简易的 http 服务器,其通信内核采用了 smart-socket 最新版v1.5.5。 smart-http 是一款可编程的 Http 应用微内核,用户可根据自身需求进行 Server 或 Client 的应用开发。 你可以基于它开发...

smart-http 是一款比较简易的 http 服务器,其通信内核采用了 smart-socket 最新版v1.5.5

smart-http 是一款可编程的 Http 应用微内核,用户可根据自身需求进行  Server  或  Client  的应用开发。

你可以基于它开发 HTTP 代理服务器、网关、静态服务器、http  client 工具、性能压测 工具 等。smart-http 依旧延续着作者一贯秉持的极简、易用、高性能风格,只提供高性能的运行能力和易用的接口设计。把更多的可能性交给开发者,由那些富有创造力的 Java 开发者打造更优秀的 Http 作品。

从 v1.1.0 开始,smart-http 正式迈入 Http Client 领域。凭借着过去 2 年在 Server 端积累的经验,Client 端的开发过程比较顺利,先推出首个可运行版供大家体验。在这个假期会抽些时间再作一些优化,争取早日运用到实际场景中。

更新内容

  1. 工程模块拆分,现分为:smart-http-common、smart-http-server、smart-http-client 三个模块。
  2. 优化:StaticResourceHandle处理的返回结果缺少content-length头信息。【I16KE7】
  3. 新特性:支持 Http Client 开发。
    • 默认协议 http/1.1,暂不支持 websocket client。
    • 支持 get 请求提交。
    • 支持 content-length、chunked 两种响应解析方式。
    • 支持自定义 Http Header

使用示例

1. Server 端

public class SimpleSmartHttp {
    public static void main(String[] args) {
        HttpBootstrap bootstrap = new HttpBootstrap();
        // 普通http请求
        bootstrap.pipeline().next(new HttpHandle() {
            @Override
            public void doHandle(HttpRequest request, HttpResponse response) throws IOException {
                response.write("hello world<br/>".getBytes());
            }
        });
        // websocket请求
        bootstrap.wsPipeline().next(new WebSocketDefaultHandle() {
            @Override
            public void handleTextMessage(WebSocketRequest request, WebSocketResponse response, String data) {
                response.sendTextMessage("Hello World");
            }
        });
        bootstrap.setPort(8080).start();
    }
}

2. Client 端

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();
    }
}

最后

如果觉得这个项目还不错,请给我们加个 Star。并且非常欢迎大家为这个项目贡献你的想法和代码,开源不易,且行且珍惜。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Blog Design Solutions

Blog Design Solutions

Richard Rutter、Andy Budd、Simon Collison、Chris J Davis、Michael Heilemann、Phil Sherry、David Powers、John Oxton / friendsofED / 2006-2-16 / USD 39.99

Blogging has moved rapidly from being a craze to become a core feature of the Internetfrom individuals sharing their thoughts with the world via online diaries, through fans talking about their favori......一起来看看 《Blog Design Solutions》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码