Skip to content

Commit 96b2b9f

Browse files
committed
Making Mux working again after rebase
Signed-off-by: Eloi DEMOLIS <[email protected]>
1 parent 54d04a4 commit 96b2b9f

File tree

5 files changed

+36
-31
lines changed

5 files changed

+36
-31
lines changed

e2e/src/http_utils/mod.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@ pub fn http_request<S1: Into<String>, S2: Into<String>, S3: Into<String>, S4: In
2626

2727
pub fn immutable_answer(status: u16) -> String {
2828
match status {
29-
400 => String::from("HTTP/1.1 400 Bad Request\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
30-
404 => String::from("HTTP/1.1 404 Not Found\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
31-
502 => String::from("HTTP/1.1 502 Bad Gateway\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
32-
503 => String::from("HTTP/1.1 503 Service Unavailable\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
29+
// 400 => String::from("HTTP/1.1 400 Bad Request\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
30+
400 => String::from("HTTP/1.1 400 Sozu Default Answer\r\nCache-Control: no-cache\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"),
31+
// 404 => String::from("HTTP/1.1 404 Not Found\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
32+
404 => String::from("HTTP/1.1 404 Sozu Default Answer\r\nCache-Control: no-cache\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"),
33+
// 502 => String::from("HTTP/1.1 502 Bad Gateway\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
34+
502 => String::from("HTTP/1.1 502 Sozu Default Answer\r\nCache-Control: no-cache\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"),
35+
// 503 => String::from("HTTP/1.1 503 Service Unavailable\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n"),
36+
503 => String::from("HTTP/1.1 503 Sozu Default Answer\r\nCache-Control: no-cache\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"),
3337
_ => unimplemented!()
3438
}
3539
}

e2e/src/tests/tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ fn try_http_behaviors() -> State {
786786
let response = client.receive();
787787
println!("request: {request:?}");
788788
println!("response: {response:?}");
789-
assert_eq!(response, Some(immutable_answer(503)));
789+
assert_eq!(response, Some(immutable_answer(502)));
790790
assert_eq!(client.receive(), None);
791791

792792
worker.send_proxy_request_type(RequestType::RemoveBackend(RemoveBackend {
@@ -986,7 +986,7 @@ fn try_https_redirect() -> State {
986986
client.connect();
987987
client.send();
988988
let answer = client.receive();
989-
let expected_answer = format!("{answer_301_prefix}https://example.com/redirected?true\r\n\r\n");
989+
let expected_answer = format!("{answer_301_prefix}https://example.com/redirected?true\r\nContent-Length: 0\r\n\r\n");
990990
assert_eq!(answer, Some(expected_answer));
991991

992992
State::Success

lib/src/protocol/mux/h2.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ impl Default for H2Settings {
5959
fn default() -> Self {
6060
Self {
6161
settings_header_table_size: 4096,
62-
settings_enable_push: true,
62+
settings_enable_push: false,
6363
settings_max_concurrent_streams: 100,
6464
settings_initial_window_size: (1 << 16) - 1,
6565
settings_max_frame_size: 1 << 14,

lib/src/protocol/mux/mod.rs

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ use self::h2::Prioriser;
4141
#[macro_export]
4242
macro_rules! println_ {
4343
($($t:expr),*) => {
44-
// print!("{}:{} ", file!(), line!());
45-
// println!($($t),*)
44+
print!("{}:{} ", file!(), line!());
45+
println!($($t),*)
4646
// $(let _ = &$t;)*
4747
};
4848
}
@@ -1260,26 +1260,27 @@ impl<Front: SocketHandler + std::fmt::Debug> SessionState for Mux<Front> {
12601260
// println!("SUCCESS: session {token:?} was removed!");
12611261
}
12621262
}
1263-
// let s = match &mut self.frontend {
1264-
// Connection::H1(c) => &mut c.socket,
1265-
// Connection::H2(c) => &mut c.socket,
1266-
// };
1267-
// let mut b = [0; 1024];
1268-
// let (size, status) = s.socket_read(&mut b);
1269-
// println_!("{size} {status:?} {:?}", &b[..size]);
1270-
// for stream in &mut self.context.streams {
1271-
// for kawa in [&mut stream.front, &mut stream.back] {
1272-
// debug_kawa(kawa);
1273-
// kawa.prepare(&mut kawa::h1::BlockConverter);
1274-
// let out = kawa.as_io_slice();
1275-
// let mut writer = std::io::BufWriter::new(Vec::new());
1276-
// let amount = writer.write_vectored(&out).unwrap();
1277-
// println_!(
1278-
// "amount: {amount}\n{}",
1279-
// String::from_utf8_lossy(writer.buffer())
1280-
// );
1281-
// }
1282-
// }
1263+
use std::io::Write;
1264+
let s = match &mut self.frontend {
1265+
Connection::H1(c) => &mut c.socket,
1266+
Connection::H2(c) => &mut c.socket,
1267+
};
1268+
let mut b = [0; 1024];
1269+
let (size, status) = s.socket_read(&mut b);
1270+
println_!("{size} {status:?} {:?}", &b[..size]);
1271+
for stream in &mut self.context.streams {
1272+
for kawa in [&mut stream.front, &mut stream.back] {
1273+
debug_kawa(kawa);
1274+
kawa.prepare(&mut kawa::h1::BlockConverter);
1275+
let out = kawa.as_io_slice();
1276+
let mut writer = std::io::BufWriter::new(Vec::new());
1277+
let amount = writer.write_vectored(&out).unwrap();
1278+
println_!(
1279+
"amount: {amount}\n{}",
1280+
String::from_utf8_lossy(writer.buffer())
1281+
);
1282+
}
1283+
}
12831284
}
12841285

12851286
fn shutting_down(&mut self) -> SessionIsToBeClosed {

lib/src/socket.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,8 @@ impl SocketHandler for FrontRustls {
264264
(size, SocketResult::Error)
265265
} else if is_closed {
266266
(size, SocketResult::Closed)
267-
} else if !can_read {
268-
(size, SocketResult::WouldBlock)
267+
// } else if !can_read {
268+
// (size, SocketResult::WouldBlock)
269269
} else {
270270
(size, SocketResult::Continue)
271271
}

0 commit comments

Comments
 (0)