#activity-stream #specification #activity-pub #serialization #protocols #deserialize #order

activityrust

ActivityRust是ActivityStream规范的一种实现

1个不稳定版本

0.1.0 2019年12月19日

#2172 in 编码

MIT许可证

115KB
2.5K SLoC

ActivityRust

什么是ActivityRust?

ActivityRust是一个允许用户管理ActivityPub协议常见实现所使用的结构的crate。为了实现这一点,它试图与以下规范兼容:

  • 活动流词汇表,如此处定义
  • 活动pub扩展,如此处定义
  • W3ID安全扩展的部分,如此处定义
  • ActivityRust允许创建和编辑这些结构,也可以将它们序列化和反序列化为JSON。

如何使用ActivityRust?

创建ActivityStream实体

extern crate activityrust;
// Import the required traits
use activityrust::traits::properties::*;

use activityrust::entities::actortypes::ActivityStreamPerson;
use url::Url;

fn main() {

  let mut activity = ActivityStreamPerson::create();
  let activity_url = Url::parse("http://test.test").unwrap();
  activity.set_id(activity_url);

}

作为ActivityStream,ActivityRust支持为属性设置null值。在实践中,这意味着你可以这样做

  activity.set_summary::<String, Option<String>>(None);

反序列化ActivityStream实体

ActivityRust支持serde模块,所有实体都可以反序列化为它们正确的类型并将它们序列化为JSON。

依赖项

~4.5MB
~115K SLoC