Size: a a a

Rust — русскоговорящее сообществo

2020 December 07

f

folex in Rust — русскоговорящее сообществo
второе. Но уже выяснили, что log! проверяет уровень логгирования, прежде чем звать format_args
источник

/

/bin/cat in Rust — русскоговорящее сообществo
Можно ли добавить в конец такой структуры поле md5_post_signature, которое нужно сериализовать как md5(sorted + "const string"), где sorted это отсортированные по алфавиту названия полей в формате f_name=value?

#[derive(Debug, Serialize)]
pub struct CheckIfUserExists<'a> {
   email: &'a str,
   #[serde(with = "string")]
   birthday: Birthday,
   #[serde(with = "string")]
   name: Name<'a>,
}```sorted для этой структуры выглядит примерно так:
```birthday=self.birthday&email=self.email&name=self.name
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
folex
второе. Но уже выяснили, что log! проверяет уровень логгирования, прежде чем звать format_args
любой логгер именно так и делает
источник

f

folex in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
любой логгер именно так и делает
да, меня просто смутила дока к log_enabled
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
ну, это бывает. Зато теперь всё прояснилось
источник

K

Kitsu in Rust — русскоговорящее сообществo
/bin/cat
Можно ли добавить в конец такой структуры поле md5_post_signature, которое нужно сериализовать как md5(sorted + "const string"), где sorted это отсортированные по алфавиту названия полей в формате f_name=value?

#[derive(Debug, Serialize)]
pub struct CheckIfUserExists<'a> {
   email: &'a str,
   #[serde(with = "string")]
   birthday: Birthday,
   #[serde(with = "string")]
   name: Name<'a>,
}```sorted для этой структуры выглядит примерно так:
```birthday=self.birthday&email=self.email&name=self.name
Можно, только кажется сериализацию придется ручками делать, а не дерайвить, т.к. какой-нибудь serialize_with не даст обратиться к другим членам структуры
источник

K

Kitsu in Rust — русскоговорящее сообществo
ну и само поле не нужно добавлять
источник

/

/bin/cat in Rust — русскоговорящее сообществo
Kitsu
Можно, только кажется сериализацию придется ручками делать, а не дерайвить, т.к. какой-нибудь serialize_with не даст обратиться к другим членам структуры
можно сделать каст в hashmap
источник

/

/bin/cat in Rust — русскоговорящее сообществo
если написать функцию для запросов
источник

K

Kitsu in Rust — русскоговорящее сообществo
ничего не понял, но окей
источник

/

/bin/cat in Rust — русскоговорящее сообществo
struct -> json string -> HashMap<String, String> -> sort -> "key=value".join("&")
источник

K

Kitsu in Rust — русскоговорящее сообществo
а, муторно конечно
если что BTreeMap сразу даст упорядоченным
источник

/

/bin/cat in Rust — русскоговорящее сообществo
а можно ли сделать unit struct и передать &self этой структуры туда?
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
/bin/cat
Можно ли добавить в конец такой структуры поле md5_post_signature, которое нужно сериализовать как md5(sorted + "const string"), где sorted это отсортированные по алфавиту названия полей в формате f_name=value?

#[derive(Debug, Serialize)]
pub struct CheckIfUserExists<'a> {
   email: &'a str,
   #[serde(with = "string")]
   birthday: Birthday,
   #[serde(with = "string")]
   name: Name<'a>,
}```sorted для этой структуры выглядит примерно так:
```birthday=self.birthday&email=self.email&name=self.name
добавь ещё одно поле и с помощь serialize_with укажи свою кастомную функцию для сериализации
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Oleg ℕizhnik
Символов больше, чем charов
Больше миллиона различных символов? Ну окей, тогда надо засылать ПР в эти либы, хотя бы чтобы на [u32] перейти или на дженерики
источник

/

/bin/cat in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
добавь ещё одно поле и с помощь serialize_with укажи свою кастомную функцию для сериализации
serialize_with умеет брать по ссылке структуру?
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
/bin/cat
serialize_with умеет брать по ссылке структуру?
Увы. Но кстати вопрос, а почему ты сразу при создании структуры хэшсумму не хочешь посчитать?
источник

/

/bin/cat in Rust — русскоговорящее сообществo
хм, ну так тоже можно
источник

/

/bin/cat in Rust — русскоговорящее сообществo
тогда надо писать макрос
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
зачем?
источник