← Каталог
Простые приложения на Rust — Как запустить
Фрагмент из «Простые приложения на Rust»: Как запустить.
use std::io::{Read, Write};
use std::net::{TcpListener, TcpStream};
fn handle(mut stream: TcpStream) -> std::io::Result<()> {
let mut buf = [0u8; 1024];
let n = stream.read(&mut buf)?;
let req = String::from_utf8_lossy(&buf[..n]);
let body = r#"{"ok":true}"#;
let response = format!(
"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nContent-Length: {}\r\n\r\n{}",
body.len(),
body
);
stream.write_all(response.as_bytes())
}
fn main() -> std::io::Result<()> {
let listener = TcpListener::bind("127.0.0.1:3000")?;
for stream in listener.incoming().flatten() {
let _ = handle(stream);
}
Ok(())
} use std::io::{Read, Write};
use std::net::{TcpListener, TcpStream};
fn handle(mut stream: TcpStream) -> std::io::Result<()> {
let mut buf = [0u8; 1024];
let n = stream.read(&mut buf)?;
let req = String::from_utf8_lossy(&buf[..n]);
let body = r#"{"ok":true}"#;
let response = format!(
"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nContent-Length: {}\r\n\r\n{}",
body.len(),
body
);
stream.write_all(response.as_bytes())
}
fn main() -> std::io::Result<()> {
let listener = TcpListener::bind("127.0.0.1:3000")?;
for stream in listener.incoming().flatten() {
let _ = handle(stream);
}
Ok(())
}