An open API service indexing awesome lists of open source software.

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.

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