4.1.3 가짜 데이터베이스에서 읽어 들이기
러스트 애플리케이션의 시작점은 main 함수이다. 여기에서 다른 작업보다 먼저 스토리지를 설정할 수 있다. 이전 절에서 스토리지를 새로 만든 덕분에 실제 설정하는 작업은 간단해졌다. 우리가 해야 할 일은 Store 구조체에서 new를 호출하여 새로운 스토리지를 반환 받고, 이를 새로운 변수에 할당하는 것이다.
코드 4-11 서버 시작 전에 저장소의 새 인스턴스 생성하기
#[tokio::main]
async fn main() {
let store = Store::new();
...
}
이제 새로 생성된 객체를 경로 핸들러에 전달해야 한다. 여기서 우리는 Warp 프레임워크의 방식을 따라야 한다. 앞서 필터의 개념을 알아보았는데, 바로 우리가 이것을 만들어야 한다. 각 HTTP 요청은 우리가 설정한 필터로 실행되며 그 과정에서 데이터가 추가되거나 수정된다. Warp로 상태를 처리하려면 저장소를 갖는 필터를 만들고 접근하려는 각 경로에 전달해야 한다.