Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ooopsnake/actix_web_image_server_demo
https://github.com/ooopsnake/actix_web_image_server_demo
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ooopsnake/actix_web_image_server_demo
- Owner: ooopSnake
- Created: 2023-03-07T05:58:12.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-10T18:13:30.000Z (almost 2 years ago)
- Last Synced: 2024-11-21T01:12:10.488Z (2 months ago)
- Language: Rust
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# get hands dirty:做一个图片服务器有多难?
> 陈天・Rust 编程第一课
## 目标
- 实现一个简单的 `http server`
- 使用 `prost`,`prost-build` 实现对 proto消息的支持
- 使用 `photon-rs` 处理图像
- 使用 `reqwest` 下载远程图像## 实现
- 原课件中使用了 axum, 本仓库使用了actix-web
- 原课件支持`LRU缓存`, 本仓库上不支持
- 应当使用类似于memcache or redis来实现### 简单实现了 `actix-prost` 功能
考虑下面的函数:
```rust
async fn img_proc_request(req_body: Proto) -> HttpResult {
...
}
```### 使用宏替代手动match ImageProcessor
参考下面的宏调用: 手动将Enum中的数据填入
*如果使用派生宏实现`运行时反射`,会更加方便.*
```rust
impl_image_proc!(Op, Resize, Rotate);
```