Documentation

You are viewing the documentation for the 2.3.x release series. The latest stable release series is 2.4.x.

§gzip エンコードの設定

Play はレスポンスを gzip に変換するフィルタを提供しています。Global オブジェクトを使うことでアプリケーションにこのフィルタを追加することができます。 gzip フィルタを有効にするには、 Play の filters ヘルパの依存性を build.sbt に追加します。

libraryDependencies += filters

§Scala で gzip を利用可能にする

Scala プロジェクトの中で WithFilters ヘルパーを使うことが gzip を利用可能にする簡単な方法です。

import play.api._
import play.api.mvc._
import play.filters.gzip.GzipFilter

object Global extends WithFilters(new GzipFilter()) with GlobalSettings {
  // onStart, onStop etc...
}

有効にするかしないかを操作するために shouldGzip パラメータを使います。これはリクエストヘッダとレスポンスヘッダの関数のブール値で受け取ることができます。

例えば次のコードは HTML レスポンスを gzip するだけとなります。

new GzipFilter(shouldGzip = (request, response) =>
  response.headers.get("Content-Type").exists(_.startsWith("text/html")))

§Java で gzip を利用可能にする

Java で gzip を利用可能にするには、Global オブジェクトにあるフィルタのリストに gzip を追加します。

import play.GlobalSettings;
import play.api.mvc.EssentialFilter;
import play.filters.gzip.GzipFilter;

public class Global extends GlobalSettings {
    public <T extends EssentialFilter> Class<T>[] filters() {
        return new Class[]{GzipFilter.class};
    }
}

このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。