示例#1
0
        public static IHalBuilder WithDefaultResult <TResult>(this IHalBuilder builder, Func <TResult> resultFactory)
            where TResult : IHalResource
        {
            builder.Advanced.WithConfiguration(b => b.WithDefaultResult(resultFactory));

            return(builder);
        }
示例#2
0
        public static IHalBuilder WithDefaultResult <TResult>(this IHalBuilder builder, TResult result)
            where TResult : IHalResource
        {
            builder.Advanced.WithConfiguration(b => b.WithDefaultResult(() => result));

            return(builder);
        }
示例#3
0
        public static IHalBuilder WithContent <TContent>(this IHalBuilder builder, Func <TContent> contentFactory, Encoding encoding, string mediaType)
            where TContent : IHalRequest
        {
            return(builder.Advanced.WithConfiguration(b =>
            {
                Func <TContent> wrapper = () =>
                {
                    var content = contentFactory();

                    if (!ReferenceEquals(content, null))
                    {
                        b.WithDependentUris(content.DependentUris);
                    }

                    return content;
                };


                b.WithContent(wrapper, encoding, mediaType);
            }));
        }
示例#4
0
        private static void ApplyConfigurations(IEnumerable <IBuilderConfiguration <IHalBuilder> > configurations, IHalBuilder builder)
        {
            if (configurations == null)
            {
                return;
            }

            foreach (var configuration in configurations)
            {
                configuration.Configure(builder);
            }
        }
示例#5
0
 public static IHalBuilder WithContent <TContent>(this IHalBuilder builder, Func <TContent> contentFactory, Encoding encoding)
     where TContent : IHalRequest
 {
     return(builder.WithContent(contentFactory, encoding, null));
 }
示例#6
0
 public static IHalBuilder WithContent <TContent>(this IHalBuilder builder, TContent content, Encoding encoding, string mediaType)
     where TContent : IHalRequest
 {
     return(builder.WithContent(() => content, encoding, mediaType));
 }
示例#7
0
 public static IHalBuilder WithContent <TContent>(this IHalBuilder builder, TContent content)
     where TContent : IHalRequest
 {
     return(builder.WithContent(content, null, null));
 }
示例#8
0
 public static IHalBuilder WithAppendOptionalQueryString <TValue>(this IHalBuilder builder, string name, TValue value, Func <TValue, bool> nullCheck = null, Func <TValue, string> toString = null)
 {
     return(builder.Advanced.WithConfiguration(b => b.WithAppendOptionalQueryString(name, value, nullCheck, toString)));
 }
示例#9
0
 public static IHalBuilder WithAppendQueryString(this IHalBuilder builder, IEnumerable <KeyValuePair <string, string> > values)
 {
     return(builder.Advanced.WithConfiguration(b => b.WithAppendQueryString(values)));
 }
示例#10
0
 public static IHalBuilder WithAppendQueryString(this IHalBuilder builder, string name, string value)
 {
     return(builder.Advanced.WithConfiguration(b => b.WithAppendQueryString(name, value)));
 }
示例#11
0
 public static IHalBuilder AsPatch(this IHalBuilder builder)
 {
     return(builder.Advanced.WithMethod(new HttpMethod("PATCH")));
 }
示例#12
0
 public static IHalBuilder AsDelete(this IHalBuilder builder)
 {
     return(builder.Advanced.WithMethod(HttpMethod.Delete));
 }
示例#13
0
 public static IHalBuilder AsPost(this IHalBuilder builder)
 {
     return(builder.Advanced.WithMethod(HttpMethod.Post));
 }
示例#14
0
 public static IHalBuilder WithLink(this IHalBuilder builder, Uri link)
 {
     return(builder.Advanced.WithConfiguration(b => b.WithUri(link)));
 }
示例#15
0
 public static IHalBuilder WithErrorType <TError>(this IHalBuilder builder)
 {
     return(builder.WithConfiguration(s => s.WithDefiniteErrorType(typeof(TError))));
 }