[wpiutil] Add remove_prefix() and remove_suffix() (#6118)

This commit is contained in:
Joseph Eng
2024-06-04 21:01:52 -07:00
committed by GitHub
parent 8def7b2222
commit d6b66bfa55
12 changed files with 131 additions and 68 deletions

View File

@@ -53,10 +53,11 @@ int LocalStorage::DataLoggerData::Start(TopicData* topic, int64_t time) {
} else if (typeStr == "int[]") {
typeStr = "int64[]";
}
return log.Start(fmt::format("{}{}", logPrefix,
wpi::drop_front(topic->name, prefix.size())),
typeStr, DataLoggerEntry::MakeMetadata(topic->propertiesStr),
time);
return log.Start(
fmt::format(
"{}{}", logPrefix,
wpi::remove_prefix(topic->name, prefix).value_or(topic->name)),
typeStr, DataLoggerEntry::MakeMetadata(topic->propertiesStr), time);
}
void LocalStorage::DataLoggerEntry::Append(const Value& v) {

View File

@@ -224,8 +224,8 @@ void NetworkServer::ServerConnection4::ProcessWsUpgrade() {
wpi::SmallString<128> nameBuf;
std::string_view name;
bool err = false;
if (wpi::starts_with(path, "/nt/")) {
name = wpi::UnescapeURI(wpi::drop_front(path, 4), nameBuf, &err);
if (auto uri = wpi::remove_prefix(path, "/nt/")) {
name = wpi::UnescapeURI(*uri, nameBuf, &err);
}
if (err || name.empty()) {
INFO("invalid path '{}' (from {}), must match /nt/[clientId], closing",

View File

@@ -567,7 +567,6 @@ bool nt::net::WireDecodeBinary(std::span<const uint8_t>* in, int64_t* outId,
outValue->SetServerTime(time);
outValue->SetTime(time == 0 ? 0 : time + localTimeOffset);
// update input range
*in = wpi::drop_front(*in,
in->size() - mpack_reader_remaining(&reader, nullptr));
*in = wpi::take_back(*in, mpack_reader_remaining(&reader, nullptr));
return true;
}