diff --git a/src/main.MD b/src/main.MD index 92f485f..0a99fa5 100644 --- a/src/main.MD +++ b/src/main.MD @@ -47,11 +47,11 @@ * [✔] Отправить заголовок с неправильным `magic`. * [✔] Убедиться, что сервер вернул `InvalidFormat`. * [✔] Отправить заголовок с неподдерживаемой версией. - * [ ] Убедиться, что сервер вернул `InvalidFormat`. - * [ ] Отправить заголовок с неизвестной командой. - * [ ] Убедиться, что сервер вернул `InvalidFormat`. - * [ ] Отправить заголовок с запрещённым флагом, например `0x0008`. - * [ ] Убедиться, что сервер вернул `InvalidFormat`. + * [✔] Убедиться, что сервер вернул `InvalidFormat`. + * [✔] Отправить заголовок с неизвестной командой. + * [✔] Убедиться, что сервер вернул `InvalidFormat`. + * [✔] Отправить заголовок с запрещённым флагом, например `0x0008`. + * [✔] Убедиться, что сервер вернул `InvalidFormat`. ## Следующая итерация — пока не выполнять diff --git a/src/protocol.rs b/src/protocol.rs index eed07d6..f1ab0d8 100644 --- a/src/protocol.rs +++ b/src/protocol.rs @@ -47,8 +47,11 @@ pub fn parse_header( let (input, version) = be_u8(input)?; //3. Парсим и валидируем Header let (input, command) = be_u8(input)?; + //4. Парсим и валидируем flags let (input, flags) = be_u16(input)?; + //5. Парсим Request без валидации let (input, request_id) = be_u32(input)?; + //6. Парсим и валидируем величину заголовка let (input, body_size) = be_u64(input)?; let local_header = Header{