/// <summary>
        /// Initialises a new instance of the request with the given description.
        /// </summary>
        ///
        /// <param name="desc">The description.</param>
        /// <param name="gameToken">The Game within which to create the new player.</param>
        /// <param name="serverUrl">The server url for this call.</param>
        public CreatePlayerRequest(CreatePlayerRequestDesc desc, string gameToken, string serverUrl)
        {
            ReleaseAssert.IsNotNull(desc, "A description object cannot be null.");


            ReleaseAssert.IsNotNull(gameToken, "Game Token cannot be null.");

            UserName    = desc.UserName;
            DisplayName = desc.DisplayName;
            Email       = desc.Email;
            Password    = desc.Password;
            Country     = desc.Country;
            DeviceModel = desc.DeviceModel;
            if (desc.DeviceType == null)
            {
                DeviceType = DeviceTypeDefaultProvider.GetDefault();
            }
            else
            {
                DeviceType = desc.DeviceType;
            }
            if (desc.Platform == null)
            {
                Platform = PlatformDefaultProvider.GetDefault();
            }
            else
            {
                Platform = desc.Platform;
            }
            AppVersion = desc.AppVersion;
            GameToken  = gameToken;

            Url = serverUrl + "/1.0/player/create";
            HttpRequestMethod = HttpRequestMethod.Post;
        }
        /// <summary>
        /// Initialises a new instance of the request with the given description.
        /// </summary>
        ///
        /// <param name="desc">The description.</param>
        /// <param name="gameToken">The Game within which to create the new player.</param>
        public CreatePlayerRequest(CreatePlayerRequestDesc desc, string gameToken)
        {
            ReleaseAssert.IsNotNull(desc, "A description object cannot be null.");


            ReleaseAssert.IsNotNull(gameToken, "Game Token cannot be null.");

            UserName    = desc.UserName;
            DisplayName = desc.DisplayName;
            Email       = desc.Email;
            Password    = desc.Password;
            GameToken   = gameToken;

            Url = "https://connect.chilliconnect.com/1.0/player/create";
            HttpRequestMethod = HttpRequestMethod.Post;
        }