Skip to content

Commit 92c4dcb

Browse files
smokytheangel0carols10cents
authored andcommitted
conditionally add metadata length to log output (no test)
1 parent 1ccd730 commit 92c4dcb

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/controllers/krate/publish.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ pub fn publish(req: &mut dyn Request) -> CargoResult<Response> {
217217
fn parse_new_headers(req: &mut dyn Request) -> CargoResult<(EncodableCrateUpload, User)> {
218218
// Read the json upload request
219219
let metadata_length = u64::from(read_le_u32(req.body())?);
220+
req.mut_extensions().insert(metadata_length);
221+
220222
let max = req.app().config.max_upload_size;
221223
if metadata_length > max {
222224
return Err(human(&format_args!("max upload size is: {}", max)));

src/middleware/log_request.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,16 @@ impl Handler for LogRequests {
3131
let response_time =
3232
response_time.as_secs() * 1000 + u64::from(response_time.subsec_nanos()) / 1_000_000;
3333

34+
let metadata_length = req
35+
.extensions()
36+
.find::<u64>()
37+
.map_or(String::new(), |l| format!(" metadata_length={}", l));
38+
3439
print!(
3540
"at={level} method={method} path=\"{path}\" \
3641
request_id={request_id} fwd=\"{ip}\" service={time_ms}ms \
37-
status={status} user_agent=\"{user_agent}\"",
42+
status={status} user_agent=\"{user_agent}\"\
43+
{metadata_length}",
3844
level = level,
3945
method = req.method(),
4046
path = FullPath(req),
@@ -43,6 +49,7 @@ impl Handler for LogRequests {
4349
user_agent = request_header(req, "User-Agent"),
4450
request_id = request_header(req, "X-Request-Id"),
4551
status = response_code,
52+
metadata_length = metadata_length,
4653
);
4754

4855
if let Err(ref e) = res {

0 commit comments

Comments
 (0)