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

原创
01/16 11:35
阅读数 18

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

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

延伸阅读,了解 Akamai cloud-computing

 

一些知友可能会好奇,检查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边缘计算平台提供个性化体验的一个例子。而通过善用相关技术,广开“脑洞”,往往可以迸发出更多创新的火花。期待大家都能玩转并全面驾驭边缘计算,为自己的用户营造与众不同的数字体验。


这篇文章的内容感觉还行吧?有没有想要立即在 Linode 平台上亲自尝试一下?别忘了,现在注册可以免费获得价值 100 美元的使用额度,快点自己动手体验本文介绍的功能和服务吧↓↓↓
欢迎关注 Akamai ,第一时间了解高可用的 MySQL/MariaDB 参考架构,以及丰富的应用程序示例。
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部