Objcgic ยังคงทดลองอยู่
ทดสอบกับ gnustep บน OpenSuse Leap 15.2 มันควรจะทำงานกับ macOS เช่นกัน
CGIC ไม่จำเป็นต้องใช้ตัวเลือกซื้อสแนปช็อต
โคลน repo:
$ git clone https://github.com/cwchentw/objcgic.git my-cgi-script
เปลี่ยนไดเรกทอรีการทำงานเป็นรูทของ My-CGI-Script :
$ cd my-cgi-script
ใช้สคริปต์ CGI ของคุณในฟังก์ชั่น cgiMain ของ ocgimain.m
รวบรวม repo:
$ make CGI_PROGRAM=index.cgi
ค่าเริ่มต้นของ CGI_Program คือ index.cgi บนแพลตฟอร์มที่ไม่ใช่ windows แต่ index.exe บน Windows
หาก GNUSTEP ของคุณอยู่ในตำแหน่งใด ๆ ที่ไม่ใช่ /USR /GNUSTEP ให้ตั้งค่าเส้นทางรวมและเส้นทางห้องสมุดของ GNUSTEP ในพื้นที่ของคุณ:
$ make GNUSTEP_INCLUDE=/path/to/GNUstep/System/Library/Headers GNUSTEP_LIB=/path/to/GNUstep/System/Library/Libraries
รูปแบบของ Gnustep ในพื้นที่ของคุณอาจแตกต่างกันไป ปรับตัวแปรเหล่านี้ตามนั้น
หากคำสั่ง build ของคุณยาวเกินไปให้พิจารณาที่จะตั้งค่าตัวแปรเหล่านี้ในการสร้างและทำความสะอาดและเรียกใช้ make ผ่านสคริปต์เหล่านี้แทน
เนื่องจากการออกแบบของ CGIC คุณต้องใช้ OBJCGIC บนพื้นฐานของสคริปต์ CGI หนึ่งตัวต่อ repo
หากคุณต้องการบันทึกสคริปต์ CGI ของคุณเองให้ผลักมันจากระยะไกลไปยัง repo นอกเหนือจากนี้:
$ git remote set-url origin path/to/remote/git/repo.git
$ git push
Backup ocgimain.m , สร้าง , ทำความสะอาด และไฟล์ที่แก้ไขอื่น ๆ หลังจากนั้นดึง repo นี้อีกครั้ง:
$ git pull https://github.com/cwchentw/objcgic.git
Git จะรวมรหัสที่อัปเดตโดยอัตโนมัติสำหรับคุณซึ่งไม่ควรต้องใช้การแทรกแซงด้วยตนเอง หากรหัสความขัดแย้งใด ๆ เกิดขึ้นให้แก้ไขด้วยตัวเอง
CGI_PROGRAM : ชื่อของโปรแกรม CGI, ค่าเริ่มต้นเป็น index.cgiCGI_ENCODING : การเข้ารหัสของโปรแกรม CGI, ค่าเริ่มต้นเป็น NSUTF8StringEncodingGNUSTEP_INCLUDE : เส้นทางของส่วนหัว gnustep, ค่าเริ่มต้นเป็น /usr/gnustep/system/library/headersGNUSTEP_LIB : เส้นทางของไลบรารี gnustep, ค่าเริ่มต้นเป็น /usr/gnustep/ระบบ/ไลบรารี/ไลบรารี ดู CGI-HELLO-OBJCGIC
รอดำเนินการ.
รุ่น CGIC Snapshot ใน repo นี้คือ 2.08
เดิมที CGIC ผนวกสายใหม่สองบรรทัดเข้ากับส่วนหัวของการตอบสนอง HTTP เราอาจใช้ข้อมูลส่วนหัวหลายรายการในการตอบกลับ ดังนั้นเราจึงเขียน +status:message: และ +contentType: ของคลาส OCGIHeader ตอนนี้ทั้งสองข้อความจะแสดงผลบรรทัดใหม่หนึ่งบรรทัดไปยังเอาต์พุตมาตรฐาน
เพื่อความเข้ากันได้ที่ดีขึ้นระหว่าง libobjc และ gnustep เราใช้ liboBJC ของ GCC บนแพลตฟอร์มที่ไม่ใช่แอปเปิ้ล
ลิขสิทธิ์ (c) 2020-2021, Bytebard ได้รับใบอนุญาตภายใต้ MIT ใบอนุญาตเดียวกับ CGIC เอง