Cloudflare เปิดซอร์สไลบรารี Rust สำหรับทำ pattern matching ใช้ทำ Page Rules

by lew
2 September 2024 - 09:54

Cloudflare รายงานถึงการอัพเกรด Ruleset Engine ที่ก่อนหน้านี้ไม่มีความสามารถในการทำ pattern matching แบบ globbing ทำให้การเขียนกฎต่างๆ ทำได้จำกัดมาก แม้จะมีฟีเจอร์อื่นๆ เพิ่มเข้ามา สุดท้ายต้องสร้างไลบรารีของตัวเองในชื่อ wildcard

การทำ pattern matching แบบ globbing มีการใช้งานเป็นวงกว้าง เช่น การแสดงไฟล์ตามเฉพาะนามสกุล .jpg เท่านั้น แต่การใช้งานของ Ruleset Engine จะซับซ้อนกว่าการตรวจว่าข้อความตรงกับ pattern ที่ระบุหรือไม่ เพราะต้องนำข้อความที่ match มาแปลง เช่น การ redirect ไปยังเซิร์ฟเวอร์อื่นๆ โดยใช้ URL เดิม

ทาง Cloudflare พยายามใช้ไลบรารีเดิมที่มีอยู่ก่อน แต่โมดูล regex นั้นรองรับงานที่ซับซ้อนกว่าที่ต้องการใช้ ทำให้ต้องระวังการใช้งานต้อง escape อักขระพิเศษที่ไม่ต้องการใช้งาน เพิ่มความซับซ้อนโดยไม่จำเป็น ขณะที่โมดูล wildmatch นั้นมีฟีเจอร์เกือบเท่าที่ต้องการใช้งาน แต่โมดูลนี้กลับต้องการอินพุตเป็นสตริงขณะที่ข้อมูล URL ของ Cloudflare นั้นเป็น byte array ตลอดจนไม่รองรับการแทนสตริง

ฟังก์ชั่น wildcard_replace เริ่มปล่อยให้ผู้ใช้แล้วในทุกแพลน

ที่มา - Cloudflare Blog

Blognone Jobs Premium