private static UriBuilder GetBuilder(string url) { var builder = new UriBuilder(BaseUrlV3 + url); builder.AddParameter(APIKeyParam, MDBSDK.ApiKey); builder.AddParameter(LanguageParam, MDBSDK.Language); return(builder); }
internal Uri ToAbsoluteURI(string relativePath, IEnumerable <RequestParam> requestParameters) { if (ApiEndpoint.HasPath()) { throw new InvalidOperationException("apiEndpoint should not contain a path"); } if (ApiEndpoint.HasUserInfoOrQueryOrFragment()) { throw new InvalidOperationException("apiEndpoint should not contain user info, query or fragment"); } string absolutePath = relativePath.StartsWith("/", StringComparison.Ordinal) ? relativePath : "/" + relativePath; UriBuilder uriBuilder = new UriBuilder { Scheme = ApiEndpoint.Scheme, Host = ApiEndpoint.Host, Port = ApiEndpoint.Port, Path = absolutePath, }; if (requestParameters != null) { foreach (RequestParam nvp in requestParameters) { uriBuilder.AddParameter(nvp.Name, nvp.Value); } } return(uriBuilder.Uri); }
public void Given_UriBuilderAndParam_When_AddParameterInvoked_Then_UriBuilderCreatedWithNewParam() { var uriBuilder = new UriBuilder("http://www.testapi.com/api"); var testParam = "TestParam"; var testData = "TestData"; var generatedUri = uriBuilder.AddParameter(testParam, testData).Uri; Assert.IsTrue(generatedUri.ToString().Contains(testParam)); Assert.IsTrue(generatedUri.ToString().Contains(testData)); }
internal Uri ToAbsoluteURI(string relativePath, IEnumerable <RequestParam> requestParameters) { Uri apiEndpoint = _session.ApiEndpoint; if (apiEndpoint.LocalPath != null && !apiEndpoint.LocalPath.Equals("/")) { throw new InvalidOperationException("apiEndpoint should not contain a path"); } if (apiEndpoint.UserInfo != "" || apiEndpoint.Query != "" || apiEndpoint.Fragment != "") { throw new InvalidOperationException("apiEndpoint should not contain user info, query or fragment"); } string absolutePath; if (relativePath.StartsWith("/", StringComparison.Ordinal)) { absolutePath = relativePath; } else { absolutePath = "/" + relativePath; } UriBuilder uriBuilder = new UriBuilder(); uriBuilder.Scheme = apiEndpoint.Scheme; uriBuilder.Host = apiEndpoint.Host; uriBuilder.Port = apiEndpoint.Port; uriBuilder.Path = absolutePath; if (requestParameters != null) { foreach (RequestParam nvp in requestParameters) { uriBuilder.AddParameter(nvp.Name, nvp.Value); } } return(uriBuilder.Uri); }