1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Webmention Receiver を実装してみた

Posted at

Webmention和訳)への理解を深めるために、 Webmention を受信するサーバを実装してみた。

具体的な実装コードは server.rb を参照。

実装した部分

  • 3.2 Receiving Webmentions和訳)内の MUST と明記されている仕様
    • 3.2.1 Request Verification
    • 3.2.2 Webmention Verification
    • 3.2.3 Error Responses
  • 受信した Webmention データのメモリ内への保存
  • メモリ内に保存した Webmention データを JSON 形式で返却する API

実装していない部分

  • SHOULD, MAY と明記されている仕様
    • 非同期処理による Webmention の検証
  • 受信した Webmention データの永続的ストレージへの保存

テスト方法

感想・考察

  • MUST と明記されている仕様だけであれば、実装は難しくない
  • 非同期処理による Webmention の検証を行うのも、 Sidekiq や Amazon SQS を使えばさほど難しくなさそう
  • 送信者が Webmention リクエストのステータスを確認するページを用意するのは手間がかかりそう
    • 非同期処理の進行状況をモニタリングするダッシュボードのような機能を作ることになるので
  • 実用的なものにするためには、相応のボリュームの実装が必要そう
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?