人生同様、モチベーションも山あり谷あり。
BitScheduler開発日誌、1年ぶりの6回目です。
今回は Firebase Hosting から rewrite 設定を使って CloudFunctions を呼び出す際のパーマリンクの受け渡し方法です。
Hosting では firebase.json に rewrite を設定でき、接続先に functions を指定できます。
rewrite による functions 接続の設定例
"hosting": {
"public": "public",
"rewrites": [
{
"source": "/home/**", "function": "home"
},
{
"source": "/detail/**", "function": "detail"
}
]
}
上記では Hosting への "/home" リクエストが functions の "/home" 関数呼び出しとなります。
その際、"**" を指定しているため、"/home" 配下のサブディレクトリの指定が home 関数にも渡ります。
リクエストが "/home/hoge" だった場合、リクエストパス(req.path)にはそのまま "/home/hoge" が割り当てられるため、home 関数に対するパーマリンクである "hoge" を取得する場合は下記コードになります。
パーマリンクの取得例
exports.home = functions.https.onRequest((req, res) => {
let dir1 = req.path.split('/')[1]; // dir1 = 'home'
let dir2 = req.path.split('/')[2]; // dir2 = 'hoge'
}
参考情報
BitSchedulerとは
開発中の出欠投稿サービスです。Googleカレンダーと連携することで簡単に管理、運用できることを目指しています。
ぜひ「いいね」して応援してください!