bugthesystem / FireSharp

An asynchronous cross-platform .Net library for Firebase
The Unlicense
696 stars 147 forks source link

Found possible error in PrepareUri, Class RequestManager #54

Open fernandoot opened 8 years ago

fernandoot commented 8 years ago

When no auth queryStr start with & instead ?

The proposal to fix.....

private Uri PrepareUri(string path, QueryBuilder queryBuilder) { var authToken = !string.IsNullOrWhiteSpace(_config.AuthSecret) ? $"{path}.json?auth={_config.AuthSecret}" : $"{path}.json";

        var queryStr = string.Empty;
        if (queryBuilder != null)
        {
            queryStr = string.IsNullOrWhiteSpace(_config.AuthSecret) 
                ? $"?{queryBuilder.ToQueryString()}" 
                : $"&{queryBuilder.ToQueryString()}";
        }

        var url = $"{_config.BasePath}{authToken}{queryStr}";

        return new Uri(url);
    }
csotomon commented 8 years ago

Or another solution is add a ? at the end of 127 line

private Uri PrepareUri(string path, QueryBuilder queryBuilder) { var authToken = !string.IsNullOrWhiteSpace(_config.AuthSecret) ? $"{path}.json?auth={_config.AuthSecret}" : $"{path}.json?";

        var queryStr = string.Empty;
        if (queryBuilder != null)
        {
            queryStr = $"&{queryBuilder.ToQueryString()}";
        }

        var url = $"{_config.BasePath}{authToken}{queryStr}";

        return new Uri(url);
    }