首页 > 其他分享 >基于kore 的共享模块以及include 配置实现动态的web api 能力

基于kore 的共享模块以及include 配置实现动态的web api 能力

时间:2023-11-29 13:34:59浏览次数:40  
标签:web kore api so conf mydemo include hello

kore 支持include 以及动态load 共享模块的能力,可以让我们实现动态扩展的api 加载能力

参考玩法

参考示例

  • 项目结构
├── conf
│   ├── hello.conf
│   ├── index.conf
│   ├── mydemo.conf
│   └── myhello.conf
├── hello.so
└── mydemo.so
  • 简单说明
    hello.conf 是入口,index.conf 是一个混总,通过include 包含了方法,mydemo.conf 以及myhello.conf 是基于共享模块的route 配置
    hello.conf ,hello.so 以及mydemo.so 是基于kodev 开发构建的共享模块
 
server no_tls {
    bind 0.0.0.0 8888
    tls no
}
load ./mydemo.so
load ./hello.so
include conf/index.conf
http_server_version dalongdemo

index.conf

domain * {
  attach        no_tls
  accesslog    access.log
  include conf/myhello.conf
  include conf/mydemo.conf
}

myhello.conf

route /demo {
    handler pagev2
    methods GET
}

mydemo.conf

route / {
    handler page
    methods GET
}
  • 运行
sudo kore -n -f -c conf/hello.conf

include 参考解析

如下,目前的那问题是不支持通配符的,不像nginx 那样可以支持通配符模式

static int
configure_include(char *path)
{
    FILE        *fp;
 
    if ((fp = fopen(path, "r")) == NULL)
        fatal("failed to open include '%s'", path);
 
    kore_parse_config_file(fp);
    (void)fclose(fp);
 
    return (KORE_RESULT_OK);
}

说明

当然以上是一个简单的玩法,实际上基于include 以及分组可以实现比较灵活的配置集成

参考资料

https://github.com/jorisvink/kore
https://docs.kore.io/4.2.0/

标签:web,kore,api,so,conf,mydemo,include,hello
From: https://www.cnblogs.com/rongfengliang/p/17864626.html

相关文章

  • kore load 模块的一些功能
    目前此玩法官方文档暂时没介绍,但是示例中包含,感觉比较有意思,所以说明下参考使用配置如下,就是包含了一个共享模块的路径以及一个字符串,这个字符串实际上是模块中的一个方法,可以实现一个当模块加载时候的任务 load./memtag.soinit参考代码......
  • IIS的web.config中跨域访问设置方法
    需求:页面要显示1个图片,但是因为各种原因,导致图片在服务器2上,但是要展示的程序在服务器1的上面,这样就造成了在显示的时候出现了跨域的问题,本来的思路为直接写个程序进行后台获得图片的路径,然后把图片进行下载出来,然后返回服务器1的图片地址,但是,由于这个周期不确定性和现阶段项目的......
  • kore 配置简单说明
    kore官方提供对于配置的说明比较少(只包含了一些核心的,其他的没有详细说明)但是提供了一个参考示例一些配置实际建议还是通过结合代码阅读比较方便,config.c中关于配置有比较完整的说明,同时也会发现一些官方暂时没介绍的http_server_version配置这个是配置serverresponse......
  • ISCTF WEB
    圣杯战争!!!前置知识:反序列化魔法函数:(以俩个下划线开头的方法称为魔法函数)__construct()   在创建对象时候初始化对象,一般用于对变量赋初值。创建一个新的类时,自动调用该方法__destruct()   和构造函数相反,当对象所在函数调用完毕后执行.即当一个类被销毁时自动调用......
  • WebAssembly的应用
    概念和作用阿里云原生网关MSE上的插件,都是采集WebAssembly来执行的,你可以通过js,go来开发wasm文件,放到WebAssembly去执行。WebAssembly(简称Wasm)是一种用于浏览器和服务器端的低级虚拟机,它的作用在生产中具有广泛的应用:高性能计算:WebAssembly是一种高性能的虚拟机,可以用于执行密集......
  • Technical support website(URL)
    Thissoftwarerespectsandprotectsthepersonalprivacyofallusersusingtheservice.Inordertoprovideyouwithmoreaccurateandpersonalizedservices,thissoftwarewilluseanddiscloseyourpersonalinformationinaccordancewiththeprovisions......
  • face-api基于tensorflow 的人像检测npm 包
    face-api基于tensorflow的人像检测npm包,原始项目为justadudewhohacks/face-api.js但是因为缺少维护,社区有人自己fork了一个新的vladmandic/face-api,可以更好的支持tensorflow新版本,当然很不错还可以支持基于wasm的backend(@tensorflow/tfjs-backend-wasm)参考使用demo.js ......
  • wasm-vips libvips webassembly 实现
    wasm-vips是利用了emscripten将libvips编译为webassembly可以实现在node以及浏览器中使用libvips强大的图片处理处理以下是一个简单的试用参考试用app.js constVips=require('wasm-vips');asyncfunctioninit(){constvips=awaitVips();vips.Image.ne......
  • Oracle Assets Adjustments API Documentation Supplement (Doc ID 206474.1)
    Appliesto:OracleAssets-Version11.5.10.2andlaterInformationinthisdocumentappliestoanyplatform.PurposeOracleAssetsAdjustmentsAPIYoucanusetheAdjustmentsAPItoadjustassetsdirectlyviaPL/SQLratherthanusingtheOracleAssetsinterf......
  • 亚马逊云科技基于 Polygon 推出首款 Amazon Managed Blockchain Access,助 Web3 开发人
     2023年11月26日,亚马逊(Amazon)旗下AmazonWebServices(Amazon)在其官方博客上宣布,AmazonManagedBlockchain(AMB)Access已支持PolygonProof-of-Stake(POS)网络,并将满足各种场景的需求,包括需要以高可用方式频繁访问PolygonJSON-RPCAPI的场景以及需要间歇性、不......