Objcgic est toujours expérimental.
Testé contre la gnunep sur Opensuse Leap 15.2. Cela devrait également fonctionner sur macOS.
CGIC lui-même n'est pas nécessaire car le repo regorge de son instantané.
Cloner le repo:
$ git clone https://github.com/cwchentw/objcgic.git my-cgi-script
Modifiez le répertoire de travail en racine de My-CGI-Script :
$ cd my-cgi-script
Implémentez votre script CGI dans la fonction cgiMain d'Ocgimain.m.
Compilez le repo:
$ make CGI_PROGRAM=index.cgi
La valeur par défaut de cgi_program est index.cgi sur les plates-formes non-windows mais index.exe sur Windows.
Si votre gnunep est située sur n'importe quel emplacement autre que / usr / gnustep , définissez le chemin d'inclusion et le chemin de la bibliothèque de votre gnuphate locale:
$ make GNUSTEP_INCLUDE=/path/to/GNUstep/System/Library/Headers GNUSTEP_LIB=/path/to/GNUstep/System/Library/Libraries
La disposition de votre gnunex locale peut varier. Ajustez ces variables en conséquence.
Si votre commande de construction devient trop longue, envisagez de définir ces variables dans Build and Nettoyer et make à la place ces scripts.
En raison de la conception de CGIC, vous devez utiliser objcgic sur la base d'un script CGI par référentiel.
Si vous souhaitez enregistrer votre propre script CGI, poussez-le à distance vers un référentiel autre que celui-ci:
$ git remote set-url origin path/to/remote/git/repo.git
$ git push
Sauvegarde ocgimain.m , construire , nettoyer et tout autre fichier modifié. Ensuite, tirez à nouveau ce dépôt:
$ git pull https://github.com/cwchentw/objcgic.git
Git fusionnera automatiquement le code mis à jour, ce qui ne devrait pas nécessiter une intervention manuelle. Si un conflit décevait le code se produit, réparez-le par vous-même.
CGI_PROGRAM : le nom du programme CGI, par défaut à index.cgiCGI_ENCODING : Le codage du programme CGI, par défaut, NSUTF8StringEncodingGNUSTEP_INCLUDE : le chemin des en-têtes de gnuphatep, par défaut / usr / gnustep / système / bibliothèque / en-têtesGNUSTEP_LIB : le chemin des bibliothèques de la gnuphate Voir CGI-Hello-Objcgic.
En attente.
La version de CGIC Snapshot dans ce repo est 2.08 .
À l'origine, CGIC ajoute deux lignes de Newline à l'en-tête d'une réponse HTTP. Nous pouvons utiliser plusieurs informations d'en-tête dans une réponse; Par conséquent, nous écrivons notre propre +status:message: et +contentType: de la classe OCGIHeader . Désormais, les deux messages ne rendent qu'une seule ligne de nouvelle ligne à la sortie standard.
Pour une meilleure compatibilité entre LibobJC et GnuStep, nous utilisons le LibobJC de GCC sur les plates-formes non pondiques.
Copyright (C) 2020-2021, Bytebard. Licencié en vertu du MIT, la même licence que CGIC elle-même.