如何检查Post body并作出响应?

如果需要针对POST body中包含的参数对传入的请求作出响应,你打算怎么做?其实在使用Akamai EdgeWorkers的情况下,只需要一些高级MD(MetaData)技巧,这一切实现起来可以变得非常简单。

Akamai EdgeWorkers是什么? Akamai EdgeWorkers是一个规模庞大的分布式无服务器网络,可以帮助客户在边缘处编写和部署自定义代码,而无需考虑基础架构或编程语言等繁琐事项。凭借Akamai平台的大容量、高可靠性和高安全性,客户可以在边缘处使用自定义代码实现动态流量路由、个性化响应等功能,并轻松扩展代码,借此打造更加个性化的数字体验。感兴趣的知友可点击 这里访问官网页面,进一步了解EdgeWorkers的功能和价值。

一些知友可能会好奇,检查POST body,这件事真有那么重要?为什么要检查?

很多情况下,检查POST body之后,即可根据需要执行各种后续操作。例如从传入的请求中提取GraphQL查询字符串并为其添加Header,随后只将自己真正需要看到的值组成的数组发送给源。借此即可在对GraphQL请求作出响应之前验证传入的请求。

本文将介绍如何通过EdgeWorker,使用PM(Property Manager)配置和一些高级MetaData来实现这个目标:根据传入的POST body对请求作出回应。

继续操作前需要注意:该方法不适合onClientRequest函数,因为这个函数会在提取POST body信息之前执行。

完整的操作方法如下。

一、Property Manager配置

在PM配置中,我们将使用一个变量和一些高级MetaData来提取POST body并将其放入Header中。之所以这么做,是因为EdgeWorkers目前还无法读取传入的POST body。

a.创建一个变量:

本例中,我们将该变量称之为BODYJSON。如果使用其他名称,请务必在下列高级MD代码片段中酌情替换对应的名称。

b.插入下列MetaData:

c.添加一个用于在EdgeWorker中捕获POST body的“Modify Outgoing Request Header”

相关设置如下图所示:

二、EdgeWorker

至此我们已经配置好了PM配置并将POST body注入了Header,随后还需要设置EdgeWorker。

这里需要注意,我们只能通过Edge > origin,Origin > edge and edge > client event handlers访问该Header。

我们可以使用如下的范例代码对JSON对象进行迭代并通过Header返回特定的键值。

至此,只要上传并激活该EdgeWorker,即可根据POST body对传入的请求执行操作了。

注意: 大家可能会观察到,我们会从Header而非变量中拉取Body。这是因为上述MD代码片段的执行需要耗费大量资源,因此我们只会针对未在父节点上设置变量的客户端请求(子节点)来运行。

在当今数字世界中,人们对于快速可靠的在线服务期望颇高。边缘计算为寻求满足这种期望的企业提供了竞争价值,因为它解锁了安全、可扩展的功能,提供了新的收入来源,并且为客户提供了更丰富的数字化体验。

作为传统的边缘服务提供商,Akamai最大的优势在于构建了一个涵盖全球,横跨各大运营商的智能边缘平台。通过将一致的边缘计算能力叠加在这个全球规模的智能边缘平台上,可以进一步优化客户体验,更加贴近客户需求。

本文介绍的小技巧,算得上借助Akamai边缘计算平台提供个性化体验的一个例子。而通过善用相关技术,广开“脑洞”,往往可以迸发出更多创新的火花。期待大家都能玩转并全面驾驭边缘计算,为自己的用户营造与众不同的数字体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/239099.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东北编程语言???

在GitHub闲逛,偶然发现了东北编程语言: 东北编程语言是由Zhanyong Wan创造的,它使用东北方言词汇作为基本关键字。这种编程语言的特点是简单易懂,适合小学文化程度的人学习,并且易于阅读、编写和记忆。它的语法与其他编…

IO网络2.0

思维导图 机械臂 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.122.68" //服务端//TCP客户端 int main(int argc, const char *argv[]) {//创建套接字…

在 Nvidia Docker 容器编译构建显存优化加速组件 xFormers

本篇文章&#xff0c;聊聊如何在新版本 PyTorch 和 CUDA 容器环境中完成 xFormers 的编译构建。 让你的模型应用能够跑的更快。 写在前面 xFormers 是 FaceBook Research &#xff08;Meta&#xff09;开源的使用率非常高的 Transformers 加速选型&#xff0c;当我们使用大模…

十大必备功能:打造高效知识库的关键因素

一个好的产品知识库应该成为客户了解产品功能、解决故障和满足产品相关查询的重要资源。但如果没有合理地维护和更新&#xff0c;其可能就失去了存在的价值。 知识库的有效性取决于其包含的信息是否全面、准确和实用。而要实现这一点&#xff0c;需要关注一些关键功能。 以人…

Docker安全基线检查需要修复的一些问题

一、可能出现的漏洞 限制容器之间的网络流量 限制容器的内存使用量 为Docker启用内容信任 将容器的根文件系统挂载为只读 审核Docker文件和目录 默认情况下&#xff0c;同一主机上的容器之间允许所有网络通信。 如果不需要&#xff0c;请限制所有容器间的通信。 将需要相互通…

在服务器上使用Docker运行SRS Stack,推拉直播流、多平台转播、本地录制、虚拟直播、直播转码、AI字幕、其他

SRS Stack | SRS (ossrs.net) Docker​ 推荐使用Docker运行SRS Stack&#xff1a; docker run --restart always -d -it --name srs-stack -v $HOME/data:/data \-p 2022:2022 -p 2443:2443 -p 1935:1935 -p 8000:8000/udp -p 10080:10080/udp \registry.cn-hangzhou.aliyun…

深度学习论文解读分享之diffGrad:一种卷积神经网络优化方法

IEEE TNNLS 2020&#xff1a;diffGrad: 一种卷积神经网络优化方法 题目 diffGrad: An Optimization Method for Convolutional Neural Networks 作者 Shiv Ram Dubey , Member, IEEE, Soumendu Chakraborty , Swalpa Kumar Roy , Student Member, IEEE, Snehasis Mukherjee…

K8S----YAML

kubernetes中资源可以使用YAML描述&#xff08;如果您对YAML格式不了解&#xff0c;可以参考YAML语法&#xff09;&#xff0c;也可以使用JSON。其内容可以分为如下四个部分&#xff1a; typeMeta&#xff1a;对象类型的元信息&#xff0c;声明对象使用哪个API版本&#xff0c…

井盖异动传感器,守护脚下安全

随着城市化进程的加速&#xff0c;城市基础设施的安全问题日益受到关注。其中&#xff0c;井盖作为城市地下管道的重要入口&#xff0c;其安全问题不容忽视。然而&#xff0c;传统的井盖监控方式往往存在盲区&#xff0c;无法及时发现井盖的异常移动。为此&#xff0c;我们推出…

nginx查看连接数的几种方法

前言 nginx作为目前最流行的web服务器之一&#xff0c;在许多生产环境都能看到他的踪影。有时候&#xff0c;我们需要统计nginx的连接配置&#xff0c;本文主要分享一下如何统计nginx的连接数。 方法一 netstat 使用netstat统计连接数&#xff0c;这种是将master和worker一起…

linux安装MySQL5.7(安装、开机自启、定时备份)

一、安装步骤 我喜欢安装在/usr/local/mysql目录下 #切换目录 cd /usr/local/ #下载文件 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz #解压文件 tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local …

使用Cloudreve快速搭建一个私有网盘,配置存储策略和管理权限以及Webdav设置访问

Cloudreve 是什么&#xff1f; Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台&#xff0c;用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统&#xff0c;亦或是针对大小团体的公有云系统。…

LogicBroker上进行 Babylist EDI项目测试指南

在LogicBroker上启动对接Babylist onboarding流程 接受邀请并填写Onboarding表单 企业将会收到一封入驻邀请电子邮件&#xff0c;邮件中将会包含Onboarding表单的链接。 1.在标题为 “[Supplier] has been invited to connect with [Retailer]” 的邮件中&#xff0c;点击Ac…

GIT SourceTree 回滚提交

步骤一&#xff1a; 步骤二&#xff1a; 步骤三&#xff1a; 在终端输入命令&#xff08;位置是项目目录下&#xff09; git push origin feature_mo2.1_r3_zhanx653 -f

Git的简单使用说明

Git入门教程 git的最主要的作用&#xff1a;版本控制&#xff0c;协助开发 一.版本控制分类 ​​ 1.本地版本控制 ​​ 2.集中版本控制 ​​ 所有的版本数据都存在服务器上&#xff0c;用户的本地只有自己以前所同步的版本&#xff0c;如果不连网的话&#xff0c;用户就看不…

解决ssh:connect to host github.com port 22: Connection timed out与kex_exchange_identification

一、问题 无法进行clone项目和其他Git操作。执行检测连接命令 ssh -T gitgithub,com报错 ssh:connect to host github.com port 22: Connection timed out 即&#xff1a;连接22端口超时 涉及到的文件&#xff1a; C:\Users\JIACHENGER.ssh\config C:\Users\JIACHENGER.ssh\…

C++(9.5)——浅谈new和delete的实现原理

(注:本文是针对上篇文章中C内存管理的两个关键字)两个关键字原理的解析&#xff0c;对于这两个关键字的使用并没有什么影响&#xff0c;如果只想得知两个关键字的使用方法&#xff0c;则可以直接跳过本篇文章&#xff09; 目录 1. 引入&#xff1a; 2.operator new 与 operat…

SSL证书在哪里申请?

SSL证书可以有效帮助您的网站解决部分安全问题&#xff0c;并让用户访问时感觉到更加安全。并且对网站的seo有良好的帮助。 SSL证书在哪里申请的步骤 永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL 一&#xff1a;可以在JoySSL申请到免费的SSL证书&#xf…

“To-Do Master“ GPTs:重塑任务管理的趣味与效率

有 GPTs 访问权限的可以点击链接进行体验&#xff1a;https://chat.openai.com/g/g-IhGsoyIkP-to-do-master 部署私人的 To-Do Master 教程&#xff1a;https://github.com/Reborn14/To-Do-Master/tree/main 引言 在忙碌的日常生活中&#xff0c;有效地管理日常任务对于提高生…

网站监测工具的极与极,Site24x7 与百川云

今天我们聊聊我用 Site24x7 的感受。对于有网站监测有需求的站长们来说&#xff0c;Site24x7 确实是个很强大的应用。但是它与百川云网站监测完全不一样&#xff0c;百川云网站监测是适合用中小微企业的交互极简的saas 应用&#xff0c;Site24x7 完全是另一个极端&#xff0c;适…