基于查询字符串参数重写http方法的金字塔插件。

pyramid_methodrewrite的Python项目详细描述


pyramid_methodrewrite包是一个金字塔插件,它添加了 重写活动http方法的“tween”(通过 request.method)到http头中提供的值,或者 查询字符串。其主要原因是允许客户伪造 除了get和post(如put和delete)之外的http方法的使用 在不符合要求的代理、浏览器或其他缺陷背后 限制可以发送哪些http方法的软件。

它通过查找X-HTTP-Method-Overridehttp头来实现 或者查询字符串或post数据中的_method参数, 如果该值是已知的http方法集,则将重写 活动请求的.method属性。标题名和 参数名是可配置的。如果指定了头值,则采用 优先于参数值。

例如,请求:

GET /path/to/resource?_method=OPTIONS HTTP/1.1

相当于(从应用程序的角度)到:

OPTIONS /path/to/resource HTTP/1.1

安装

$ pip install pyramid-methodrewrite

用法

在ini文件中通过以下方式启用tween:

pyramid.includes=pyramid_methodrewrite

或通过:

defmain(global_config,**settings):# ...config.include('pyramid_methodrewrite')# ...

配置

可以在应用程序的 main节:

  • methodrewrite.enabled:用于控制是否 应启用方法重写。默认值:True
  • methodrewrite.on:将导致 检查请求参数并可能使 改变。默认为(GET, POST)
  • methodrewrite.header:控制 请求的方法。默认为X-HTTP-Method-Override。如果 现在,头覆盖优先于参数 重写。
  • methodrewrite.param:控制 请求的方法。默认为_method
  • methodrewrite.to:请求 可以重写为。如果设置为空,则不做任何限制 映射到可接受的或已知的方法。默认为 pyramid_methodrewrite.HTTP_METHODS

请注意,所有方法名始终转换为大写。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用McClickListener单击了什么元素   Java时间戳在Oracle时间戳中不同情况下存储12 PM的奇怪行为   java无法使用事件总线对运行在不同机器上的垂直体进行通信   java Mockserver:收到请求后进行回调   java无法将Json字符串转换为Map<string,Object>   java如何按升序排列输出?   java视图行,带有oracle键。jbo。在SrCategoryParentIterator中找不到键[300100120394155]   javafxmysql连接示例   java正在等待加载完成   java是否可以将同一个有状态会话bean实例注入多个其他会话bean?   java无法让万向节检测离开或进入区域   使用JavaCV和OpenCV的java提供了dyld:lazy符号绑定失败:找不到符号:__sincos_stret   xml解析无法使用Java读取xml文档   java无法更改工具栏的颜色   javaapachesshd和JSCH   java无法在firebase存储中检索图像url   java问题与executeUpdate   同一应用程序中不同活动之间的java SharedReference