diff options
Diffstat (limited to 'license-generator/paddle/src/lib.rs')
-rw-r--r-- | license-generator/paddle/src/lib.rs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/license-generator/paddle/src/lib.rs b/license-generator/paddle/src/lib.rs new file mode 100644 index 0000000..a1db417 --- /dev/null +++ b/license-generator/paddle/src/lib.rs @@ -0,0 +1,40 @@ +// https://paddle.com/docs/reference-verifying-webhooks/ +fn verify_signature<'a, I>(params: I) -> bool +where I: ExactSizeIterator<Item = (&'a str, &'a str)> { + false +} + +fn php_serialize<'a, I>(pairs: I) -> String +where I: ExactSizeIterator<Item = (&'a str, &'a str)> { + let mut serialized = String::with_capacity(500); + + serialized.push_str( + &format!("a:{pairs_count}:{{", pairs_count = pairs.len()) + ); + + for (key, value) in pairs { + serialized.push_str( + &format!( + "s:{key_length}:\"{key}\";s:{value_length}:\"{value}\";", + key_length = key.len(), + key = key, + value_length = value.len(), + value = value + ) + ); + } + + serialized.push_str("}"); + + serialized +} + + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn php_serialize_serializes_key_values_as_php_string() { + } +} |