Skip to content

Commit 5b175ac

Browse files
authored
Merge pull request #14675 from NixOS/cleanup-verb-filetransfer
libstore: Split FileTransferRequest::verb into verb + noun
2 parents d7c2938 + 430bcda commit 5b175ac

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

src/libstore/filetransfer.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ struct curlFileTransfer : public FileTransfer
101101
, act(*logger,
102102
lvlTalkative,
103103
actFileTransfer,
104-
fmt("%sing '%s'", request.verb(), request.uri),
104+
fmt("%s '%s'", request.verb(/*continuous=*/true), request.uri),
105105
{request.uri.to_string()},
106106
request.parentAct)
107107
, callback(std::move(callback))
@@ -166,7 +166,7 @@ struct curlFileTransfer : public FileTransfer
166166
std::rethrow_exception(ex);
167167
} catch (nix::Error & e) {
168168
/* Add more context to the error message. */
169-
e.addTrace({}, "during %s of '%s'", Uncolored(request.verb()), request.uri.to_string());
169+
e.addTrace({}, "during %s of '%s'", Uncolored(request.noun()), request.uri.to_string());
170170
} catch (...) {
171171
/* Can't add more context to the error. */
172172
}
@@ -510,7 +510,7 @@ struct curlFileTransfer : public FileTransfer
510510

511511
debug(
512512
"finished %s of '%s'; curl status = %d, HTTP status = %d, body = %d bytes, duration = %.2f s",
513-
request.verb(),
513+
request.noun(),
514514
request.uri,
515515
code,
516516
httpStatus,
@@ -610,7 +610,7 @@ struct curlFileTransfer : public FileTransfer
610610
Interrupted,
611611
std::move(response),
612612
"%s of '%s' was interrupted",
613-
request.verb(),
613+
request.noun(),
614614
request.uri)
615615
: httpStatus != 0
616616
? FileTransferError(
@@ -845,7 +845,7 @@ struct curlFileTransfer : public FileTransfer
845845
}
846846

847847
for (auto & item : incoming) {
848-
debug("starting %s of %s", item->request.verb(), item->request.uri);
848+
debug("starting %s of %s", item->request.noun(), item->request.uri);
849849
item->init();
850850
curl_multi_add_handle(curlm, item->req);
851851
item->active = true;

src/libstore/include/nix/store/filetransfer.hh

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,25 @@ struct FileTransferRequest
169169
}
170170

171171
/**
172-
* Returns the verb root for logging purposes.
173-
* The returned string is intended to be concatenated with "ing" to form the gerund,
174-
* e.g., "download" + "ing" -> "downloading", "upload" + "ing" -> "uploading".
172+
* Returns the method description for logging purposes.
175173
*/
176-
std::string verb() const
174+
std::string verb(bool continuous = false) const
175+
{
176+
switch (method) {
177+
case HttpMethod::Head:
178+
case HttpMethod::Get:
179+
return continuous ? "downloading" : "download";
180+
case HttpMethod::Put:
181+
case HttpMethod::Post:
182+
assert(data);
183+
return continuous ? "uploading" : "upload";
184+
case HttpMethod::Delete:
185+
return continuous ? "deleting" : "delete";
186+
}
187+
unreachable();
188+
}
189+
190+
std::string noun() const
177191
{
178192
switch (method) {
179193
case HttpMethod::Head:
@@ -184,7 +198,7 @@ struct FileTransferRequest
184198
assert(data);
185199
return "upload";
186200
case HttpMethod::Delete:
187-
return "delet";
201+
return "deletion";
188202
}
189203
unreachable();
190204
}

0 commit comments

Comments
 (0)