1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jinzhoumu-rust-server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Rust Web Server - Легковесный фреймворк для HTTP-сервера

1. Введение

В этом проекте представлен легковесный фреймворк для HTTP-сервера, написанный на языке Rust. Фреймворк использует TcpStream Rust и предоставляет простые и удобные API для приема и обработки HTTP-запросов. С помощью этого проекта можно создать HTTP-сервер всего за несколько строк кода.

2. Установка окружения

В этом проекте используется Rust 1.75

3. Поддерживаемые функции

  • Многопоточное выполнение (встроенный пул потоков)
  • Поддержка проксирования статических ресурсов
  • Возможность настройки заголовков ответа
  • Поддержка маршрутизации
  • Использование serde (сериализация структур данных)## 4. Простое использование
  1. Отправка JSON-данных
#[derive(Serialize, Deserialize)]
struct Stu {
    name: String,
    age: u8,
    id: u32
}
fn main() {
    // Создание экземпляра сервера, параметр new() - количество потоков
    let mut server = Server::new(4);
    // Регистрация обработчика запросов, первый параметр - метод HTTP-запроса
    // второй параметр - путь маршрутизации
    // третий параметр - Box для функции-обработчика
    server.register_handler(HttpMethod::Get, "/json", Box::new(|mut ctx| {
        // Разрешение кросс-оригинального доступа
        ctx.get_response().allowed_cross_origin();
        // Отправка JSON-данных
        send_json(&mut ctx, &Stu { name: "abc".to_string(), age: 33, id: 28798438 }, HttpStatus::OK).unwrap();
    }));
    // Запуск сервера
    run(server, "127.0.0.1:8080");
    // Посетите http://127.0.0.1:8080/json, чтобы получить JSON-строку
}
```2. Создание простого прокси-сервера для статических ресурсов (html, jpg/jpeg/png, css, js)
```rust
fn main() {
    // Получение экземпляра сервера
    let mut server = Server::new(4);
    // Регистрация обработчика статических ресурсов
    server.register_static_resource("путь к вашему ресурсу", "/static");
    // Запуск сервера
    run(server, "127.0.0.1:8080");
    // Посетите 127.0.0.1:8080/static/example
}

5. Будущие планы

  • Добавление запросов-перехватчиков, которые можно настраивать для перехвата запросов
  • Добавление групп маршрутизации для реализации групповой маршрутизации
  • Улучшение вывода логов
  • Предоставление дополнительных инструментов
  • Улучшение комментариев

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Легковесный框架 для HTTP-сервера на Rust В данном тексте "框架" (фреймворк) и "HTTP-сервера" являются терминами, которые не требуют перевода, так как они являются общепринятыми терминами в IT-сфере. Остальная часть текста переведена на русский язык. Развернуть Свернуть
Rust и 2 других языков
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jinzhoumu-rust-server.git
git@api.gitlife.ru:oschina-mirror/jinzhoumu-rust-server.git
oschina-mirror
jinzhoumu-rust-server
jinzhoumu-rust-server
master