encode

Function encode 

Source
pub fn encode(nickname: &str) -> Cow<'_, str>
Expand description

Encodes a nickname for safe use in URLs

This function ensures that nicknames containing special characters, spaces, or non-ASCII characters are properly URL-encoded. ASCII nicknames without control characters are returned as-is for better performance.

§Arguments

  • nickname - The player nickname to URL-encode

§Returns

Returns Cow<'_, str> -

  • Cow::Borrowed if the nickname is already URL-safe (ASCII without control characters)
  • Cow::Owned with URL-encoded string if encoding is required

§Examples

use ddapi_rs::prelude::encode;

// Safe ASCII nicknames are returned without changes
assert_eq!(encode("Player1"), "Player1");
assert_eq!(encode("abc_XYZ"), "abc_XYZ");

// Characters requiring encoding are properly handled
assert_eq!(encode("Player Server"), "Player%20Server");
assert_eq!(encode("Player@Server"), "Player%40Server");
assert_eq!(encode("玩家"), "%E7%8E%A9%E5%AE%B6");
assert_eq!(encode("emoji🎮"), "emoji%F0%9F%8E%AE");

// Special cases
assert_eq!(encode(""), "");
assert_eq!(encode("a b"), "a%20b");