当前位置: 首页 > news >正文

FastWeb网站开发之拦截器(interceptor)使用教程

拦截器用于拦截和处理HTTP请求和响应。在请求开始处理之前进行拦截过滤与处理。

API文档

拦截器一般用于初始化lua脚本中创建拦截规则。

它主要用于浏览器的请求中某些目录或文件不允许访问、某些目录需要验证权限,在拦截器中进行判断并选择是否继续向下执行。

  • 拦截器为应用全局变量,任意位置均可访问
  • 与订阅一样可以使用requestresponse用于处理与回复

要求

  • 必须返回bool型变量:true = 允许并继续,false = 终止请求

示例

api/init/interceptor.lua

-- 验证是否为禁止的路径
local function is_denied()-- 禁止访问的路径local denied_path = {-- session作为会话存储目录"/session",-- /api/init 存放的初始化代码等"/api/init",}-- 获取请求路径local request_filepath = request:filepath()-- 遍历禁止路径for _, path in ipairs(denied_path) doif request_filepath:sub(1, #path) == path thenreturn trueendendreturn false
endif is_denied() thenreturn false
end-- 没有需要禁止的路径
return true

api/init/init.lua

----------拦截器示例-------------
-- 拦截所有请求
interceptor.add("/*.*","/api/init/interceptor.lua")
-- 输出初始化成功
print("init ok")
return true

相关文章:

  • 课时151:项目发布_基础知识_技术要点
  • 分布式事务AP控制方案(下)
  • 数据结构之线性表(3)
  • 14. RTCP 协议
  • Kafka的分区副本机制
  • 小熊家务帮day19-day21 订单模块2(取消订单,退款功能等)
  • OBS 录屏软件 for Mac 视频录制和视频实时交流软件 安装
  • 类和对象(上续)
  • 力扣 T62 不同路径
  • leetcode389:找不同
  • XUbuntu24.04之制作ISO镜像启动盘(二百四十八)
  • module ‘django_cas_ng.views‘ has no attribute ‘login‘
  • 备战 清华大学 上机编程考试-冲刺前50%,倒数第5天
  • VM渗透系统合集(下载链接)
  • Objective-C的初始化方法中,应该如何读写属性
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • avalon2.2的VM生成过程
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • github从入门到放弃(1)
  • JavaScript 基础知识 - 入门篇(一)
  • leetcode388. Longest Absolute File Path
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring Cloud Feign的两种使用姿势
  • SQLServer插入数据
  • 对JS继承的一点思考
  • 番外篇1:在Windows环境下安装JDK
  • 观察者模式实现非直接耦合
  • 前端攻城师
  • 前端面试总结(at, md)
  • 入门到放弃node系列之Hello Word篇
  • 深度学习入门:10门免费线上课程推荐
  • 数组大概知多少
  • 算法---两个栈实现一个队列
  • 突破自己的技术思维
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 我建了一个叫Hello World的项目
  • 小程序01:wepy框架整合iview webapp UI
  • 一、python与pycharm的安装
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • #565. 查找之大编号
  • #VERDI# 关于如何查看FSM状态机的方法
  • #window11设置系统变量#
  • $.ajax()
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1)(1.11) SiK Radio v2(一)
  • (16)Reactor的测试——响应式Spring的道法术器
  • (23)mysql中mysqldump备份数据库
  • (AngularJS)Angular 控制器之间通信初探
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (javascript)再说document.body.scrollTop的使用问题
  • (k8s中)docker netty OOM问题记录
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB