通过Haxe编写的HTTP服务器,基本功能已经准备好,正进入生产阶段。
带有常用的RPC接口,可参考test/RPCMain.hx
// 创建基础的HTTP侦听服务
var ip:String = "0.0.0.0";
var port = 5555;
var http = new HTTPServer(ip, port, true);
http.start();
http.onConnectRequest = (client) -> {
client.send("hello world.");
};
// 使用`addRoute`API可以轻松为请求添加路由
http.route.addRoute("/", (http) -> {
trace("访问到了/路由", http.path);
return true;
});
可参考test/CustomRoute.hx
类的实现。
通过一个对象,由http.macro.ReflectRouteMacro
自动生成反射对象类,使它每个公开的方法都能够自动转换成路由方法,并遵循参数的可选不可选、参数名等。
同时,可以直接继承http.route.HTTPReflectCustomObject
直接实现公开方法,请参考ReflectCustomObject
。
已支持HTTPS,使用443
端口,通过sslOption
参数配置;
通过client.param.get
方法获得?
后面的参数。
已支持application/json
以及application/x-www-form-urlencoded
支持,可通过client.param.post
获得。
通过client.param.header
方法获得头信息参数。
通过httpServer.onResponseAfter
接口处理最终输出的结果,可以在这里修改client.response.data
参数处理最终输出结果。