นี่คือโปรแกรม CGI ที่เขียนใน C เพื่อให้บริการเว็บไซต์ฐานข้อมูลใบเสนอราคา
ปัจจุบันให้บริการข้อมูลจากไดเรกทอรี QUOTES_ROOT ใน 4 รูปแบบ: HTML, JSON, CSV และ "RAW" ซึ่งเป็น CSV เฉพาะที่มีการแยกวิเคราะห์ง่ายขึ้นที่นี่:
raw :: *(raw_line)
raw_line :: id "," epoch "," text "n"
id :: *(0-9)
epoch :: *(0-9)
text :: *(any char except 'n')
แก้ไข quotes.h เพื่อเปลี่ยนตำแหน่งของ QUOTES_ROOT และเพิ่มไฟล์ที่มีชื่อ #name ตรวจสอบให้แน่ใจว่าชื่อคือ HTML-SAFE และ DIR มีสิทธิ์ RW
ตอนนี้ยังรองรับการโพสต์และลบเพื่อเพิ่ม/แก้ไข/ลบคำพูดจากระยะไกล สำหรับสิ่งนี้ในการทำงานคุณต้องเลือกชื่อผู้ใช้แบบสุ่ม + รหัสผ่านให้พวกเขาด้วยลำไส้ใหญ่ base64 มันและใส่ไว้ใน quotes_auth env var จากนั้นคุณสามารถใช้ URL 'https: // ชื่อผู้ใช้: [email protected]/quotes/' สำหรับการดำเนินการโพสต์/ลบ
การโพสต์ข้อมูลไปยัง /ใบเสนอราคา /ชื่อจะเพิ่มข้อมูลนั้นเป็นใบเสนอราคาใหม่และส่งคืน ID + การประทับเวลาของคำพูดใหม่นี้คั่นด้วยเครื่องหมายจุลภาค
การโพสต์ข้อมูลของแบบฟอร์ม '[Epoch]: [text]' ถึง/quotes/name/id จะแก้ไขยุคหรือข้อความของใบเสนอราคา (หรือทั้งสองอย่าง) หากคุณต้องการเปลี่ยนข้อความเท่านั้นอย่าลืมรวมลำไส้ใหญ่ชั้นนำ
การลบ URL/QUOTES/NAME/ID จะ .. ดีมันจะลบใบเสนอราคาคุณคาดหวังอะไร?
ตัวอย่างการกำหนดค่า NGINX (โดยใช้ FCGIWRAP):
location /quotes {
root /var/www/quotes/;
fastcgi_param SCRIPT_FILENAME /var/www/quotes/cgi-bin/quotes;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param QUOTES_AUTH [base64'd user:pwd]
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}