Help us understand the problem. What is going on with this article?

Webmention Receiver を実装してみた

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

https://github.com/kyanny/webmention-receiver

具体的な実装コードは 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 リクエストのステータスを確認するページを用意するのは手間がかかりそう
    • 非同期処理の進行状況をモニタリングするダッシュボードのような機能を作ることになるので
  • 実用的なものにするためには、相応のボリュームの実装が必要そう
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした