https://github.com/pickles2/node-express-pickles2
Pickles 2 server emulator for Express.
https://github.com/pickles2/node-express-pickles2
Last synced: 5 months ago
JSON representation
Pickles 2 server emulator for Express.
- Host: GitHub
- URL: https://github.com/pickles2/node-express-pickles2
- Owner: pickles2
- Created: 2016-03-03T05:25:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-08-18T14:41:45.000Z (almost 3 years ago)
- Last Synced: 2025-09-21T09:25:02.677Z (9 months ago)
- Language: PHP
- Size: 736 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# node-express-pickles2
[Pickles 2](http://pickles2.pxt.jp/) Server Emulator for Express.
## Install
```bash
$ npm install --save express-pickles2
```
## Usage
```js
var express = require('express');
var expressPickles2 = require('express-pickles2');
var app = express();
app.use('/*', expressPickles2('/path/to/.px_execute.php', {}, app) );
app.listen(3000);
```
### Options
```js
app.use(
'/*',
expressPickles2(
'/path/to/.px_execute.php' ,
{
'liveConfig': function(callback){
callback(execute_php, options);
return;
},
'processor': function(html, ext, callback, response){
if( ext == 'html' ){
html = yourCustomProcessor(html);
}
callback(html);
return;
},
'bin': '/path/to/php',
'ini': '/path/to/php.ini',
'extension_dir': '/path/to/ext/'
},
app
)
);
```
- liveConfig
- 起動済みのサーバーに動的に設定を与える必要がある場合に使用します。
このオプションは、Pickles 2 を利用した外部アプリケーションなどが、その都合によって加工を必要とする場合などを想定して用意されました。 - processor
- 出力前の加工処理を設定します。 Pickles 2 とは本来無関係の機能で、ウェブサイトに由来する加工処理をここに実装することは望ましくありません。代わりに、Pickles 2 に搭載されている processor 機能を使用してください。
このオプションは、Pickles 2 を利用した外部アプリケーションなどが、その都合によって加工を必要とする場合などを想定して用意されました。
引数は次の通りです。
- html
- 加工前のHTMLソースコードが渡されます。
- ext
- コンテンツの拡張子が渡されます。
- callback
- コールバック関数です。引数に、加工後のHTMLソースコードを渡してください。
- response
- Pickles 2 の応答情報オブジェクトです。エラーメッセージや、relatedlinks にアクセスする必要がある場合は、このオブジェクトに格納されています。
- bin
- PHP のパス。 px2agent へ引数として渡されます。
- ini
- PHP の php.ini のパス。 px2agent へ引数として渡されます。
- extension_dir
- PHP の extension のパス。 px2agent へ引数として渡されます。
## 更新履歴 - Change log
### express-pickles2 2.0.0-beta.2 (2018年3月5日)
- `processor` の第4引数に `response` を追加。
- PHP のエラーメッセージの先頭に文字列 `PHP ` が付いている場合を考慮するように修正。
- Pickles 2 が出力するJSONに格納される `header` に対応。 (pickles2/px-fw-2.x@2.0.29 以降で有効)
- Pickles 2 のコンテンツルートに設置された `.htaccess` を簡易的に解析し、 Pickles 2 に渡すべき 拡張子の一覧を取得して制御するようになった。
- クライアントの `HTTP_USER_AGENT` を Pickles 2 へバイパスするようになった。
- パフォーマンス向上。Pickles 2 のコンフィグ情報をキャッシュし、アクセス毎の負荷を低減した。
### express-pickles2 2.0.0-beta.1 (2016年7月28日)
- パラメータ THEME をセッションに記憶するようになった。
- コンフィグ `path_controot` が `/` 以外の場合に、 direct のパスが拾えない不具合を修正。
- コンフィグ `path_controot` が `/` 以外の場合に、 controot 外にアクセスしたときに、正しくない画面が表示される不具合を修正。
- オプション bin, ini, extension_dir を追加
## ライセンス - License
MIT License
## 作者 - Author
- Tomoya Koyanagi
- website:
- Twitter: @tomk79