2ヶ月ほど前にこのサイトの検索APIを自作した。たぶん自分以外に誰も検索機能は使ってないと思うけど、ここ最近の記事が諸事情により引っかからないので簡単に理由だけ書いておく。

原因は引っ越ししてネットが開通していない。というのに付随する。

じゃあ、お前今どうやってネットしてんねん。という話となるが、それは開通までプロバイダーからWifiを借りているので問題ない。けれども、借りているWifiのIPが固定されているのかどうかよくわかっていない。ここでいう固定は電源入れなおすたびに変わってないかとかそれくらいのレベルの話。

記事生成時に検索APIにPOSTで記事を投げてデータを登録するような実装にしているけど、そこの処理で下記のようにIP制限をかけている。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 下記コードのライセンスは https://github.com/YoshinoriN/lv-fox/blob/master/LICENSE に準拠

class PostIpFilterAction(implicit exContext: ExecutionContext)
extends ActionRefiner[Request, Request]
with Logging
with Network {

override protected def refine[A](request: Request[A]): Future[Either[Result, Request[A]]] = {

if (Config.apiPostIpFilter == "0.0.0.0") {
Future(Right(request))
} else {
val clientIp = getIpAddress(request)
if (clientIp == Config.apiPostIpFilter) {
Future(Right(request))
} else {
logger.error(s"${clientIp} - ${request.uri}: access denied")
Future(Left(Results.Unauthorized.as(MimeTypes.JSON)))
}
}

}

override protected def executionContext: ExecutionContext = exContext

}

んで、その設定値が旧住居で使用していた時のIPなので引っ越ししてきてからの記事がまるまる登録できてない。設定値を変更するのもめんどくさいので、ネット開通したら一気に登録する予定。

そんな感じ。OWARI