# Cloudflare Rules に trim() 関数が仲間入り、余計な空白にサヨナラ！

おつかれさま、しぃちゃんだよ！今日はルール式でちょっと便利になる関数のお知らせだよ！

## なにが発表されたの？

Cloudflare の Changelog で、Cloudflare Rules に前後のバイトを取り除く 3 つの関数が追加されたと発表されたよ。リクエストの値を比較する前に、空白を取り除くのに使えるの。

- `trim()`: 両端のバイトを取り除く
- `trim_start()`: 先頭のバイトを取り除く
- `trim_end()`: 末尾のバイトを取り除く

すべての HTTP 製品で、すべてのプランが対象だよ。

## これで何が変わるの？

ヘッダーの値に余計な空白が付いていると、`eq` での比較が合わなくなっちゃうことがあるよね。この関数で先に空白を落としておけば、比較が安定するよ。ルールを書く人は、前後の空白を気にして条件を増やさなくてよくなるね！

## 深く潜ってみよう

動作のルールはこうだよ。

- 何も指定しないと、ASCII の空白を取り除く
- オプションの定数文字列で、取り除くバイトの集合を自分で決められる
- 入力が nil なら、nil を返す

原文にある例は、ヘッダー `x-label` の値から前後の空白を取ってから比較する式だよ。

```txt
trim(http.request.headers["x-label"][0]) eq "approved"
```

詳しい仕様は、それぞれの関数のリファレンスにあるよ。

## まとめ

- `trim()`、`trim_start()`、`trim_end()` が Rules に追加された
- 既定では ASCII の空白を除去、定数文字列で対象バイトを指定できる
- 入力が nil のときは nil が返る
- 全プランのすべての HTTP 製品で利用可能

ヘッダーやクエリの値を厳密に比較するルールを書いている人に刺さるよ！
