OBJCGICはまだ実験的です。
OpenSuse Leap 15.2でGNUSTEPに対してテストされました。 MacOSでも動作するはずです。
Repoはスナップショットをバンドルしているため、CGIC自体は必要ありません。
リポジトリのクローン:
$ git clone https://github.com/cwchentw/objcgic.git my-cgi-script
作業ディレクトリをMy-CGIScriptのルートに変更します。
$ cd my-cgi-script
ocgimain.mのcgiMain関数にCGIスクリプトを実装します。
レポをコンパイルします:
$ make CGI_PROGRAM=index.cgi
cgi_programのデフォルト値は、非windowsプラットフォーム上のindex.cgiですが、 index.exe on windowsです。
gnustepが/usr /gnustep以外の任意の場所にある場合は、include include PathとLocal Gnustepのライブラリパスを設定します。
$ make GNUSTEP_INCLUDE=/path/to/GNUstep/System/Library/Headers GNUSTEP_LIB=/path/to/GNUstep/System/Library/Libraries
地元のgnustepのレイアウトは異なる場合があります。それに応じてこれらの変数を調整します。
ビルドコマンドが長すぎる場合は、これらの変数をビルドに設定してクリーンに設定し、代わりにこれらのスクリプトmakeすることを検討してください。
CGICの設計により、Repoごとに1つのCGIスクリプトに基づいてOBJCGICを使用する必要があります。
独自のCGIスクリプトを保存したい場合は、これ以外のレポをリモートに押します。
$ git remote set-url origin path/to/remote/git/repo.git
$ git push
backup ocgimain.m 、ビルド、クリーン、およびその他の変更されたファイル。その後、このレポをもう一度引いてください:
$ git pull https://github.com/cwchentw/objcgic.git
GITは、更新されたコードを自動的にマージします。これには、手動で介入する必要はありません。競合がbewteenコードが発生した場合は、自分で修正してください。
CGI_PROGRAM :CGIプログラムの名前、デフォルトでindex.cgiCGI_ENCODING :CGIプログラムのエンコード、デフォルトでNSUTF8StringEncodingGNUSTEP_INCLUDE :gnustepヘッダーのパス、デフォルト/usr/gnustep/system/library/headersGNUSTEP_LIB :gnustepライブラリのパス、デフォルト/usr/gnustep/system/library/libraries CGI-Hello-objcgicを参照してください。
保留中。
このリポジトリのCGICスナップショットのバージョンは2.08です。
もともと、CGICは、HTTP応答のヘッダーに2行の新しいラインを追加しました。応答で複数のヘッダー情報を使用する場合があります。したがって、 OCGIHeaderクラスの独自の+status:message: +contentType:を書きます。これで、2つのメッセージのみを標準出力に1行のNewlineにレンダリングします。
libobjcとgnustepの間の互換性を高めるために、非アプルプラットフォームでGCCのlibobjcを使用します。
Copyright(c)2020-2021、Bytebard。 CGIC自体と同じライセンスであるMITの下でライセンスされています。