Ejemplo n.º 1
0
        private Uri BuildEndpoint()
        {
            var endpoint = new UriBuilder(this._config.BaseEndpoint);

            endpoint.Scheme = endpoint.Scheme == "https" ? "wss" : "ws";
            endpoint.AddPath("/websocket");
            return(endpoint.Uri);
        }
Ejemplo n.º 2
0
        internal static string ToUrl(this object value, Uri serviceAddress, string operationType, bool responseRequired = true)
        {
            var builder = new UriBuilder(serviceAddress);

            switch (operationType)
            {
            case OperationType.Post:
                builder = (responseRequired
                        ? builder.AddPath(RestServiceMetadata.Path.Post)
                        : builder.AddPath(RestServiceMetadata.Path.PostOneWay))
                          .AddQuery(UrlSerializer.FromType(value.GetType()).QueryParams);
                break;

            case OperationType.Put:
                builder = (responseRequired
                        ? builder.AddPath(RestServiceMetadata.Path.Put)
                        : builder.AddPath(RestServiceMetadata.Path.PutOneWay))
                          .AddQuery(UrlSerializer.FromType(value.GetType()).QueryParams);
                break;

            case OperationType.Get:
                builder = (responseRequired
                        ? builder.AddPath(RestServiceMetadata.Path.Get)
                        : builder.AddPath(RestServiceMetadata.Path.GetOneWay))
                          .AddQuery(UrlSerializer.FromValue(value).QueryParams);
                break;

            case OperationType.Delete:
                builder = (responseRequired
                        ? builder.AddPath(RestServiceMetadata.Path.Delete)
                        : builder.AddPath(RestServiceMetadata.Path.DeleteOneWay))
                          .AddQuery(UrlSerializer.FromValue(value).QueryParams);
                break;

            default:
                string errorMessage = string.Format(
                    "OperationType {0} with void return is absent", operationType);
                throw Error.InvalidOperation(errorMessage);
            }
            return(builder.Uri.ToString());
        }
Ejemplo n.º 3
0
        public void MinscTestUriBuilderAddPath()
        {
            var uri = new UriBuilder("https://stackoverflow.com/");

            uri.AddPath("question");
        }