public SecuritySchemeDescriptor Build(IDictionary <string, object> dynamicRaml, string defaultMediaType) { var descriptor = new SecuritySchemeDescriptor(); if (dynamicRaml.ContainsKey("headers")) { descriptor.Headers = new ParametersBuilder((IDictionary <string, object>)dynamicRaml["headers"]).GetAsDictionary(); } if (dynamicRaml.ContainsKey("queryParameters")) { descriptor.QueryParameters = new ParametersBuilder((IDictionary <string, object>)dynamicRaml["queryParameters"]).GetAsDictionary(); } if (dynamicRaml.ContainsKey("responses")) { var objects = dynamicRaml["responses"] as object[]; if (objects != null) { var responsesNest = objects.ToList().Cast <ExpandoObject>(); var responses = responsesNest.ToDictionary( k => ((IDictionary <string, object>)k)["code"].ToString(), v => (object)v); descriptor.Responses = new ResponsesBuilder(responses).GetAsDictionary(defaultMediaType); } else { descriptor.Responses = new ResponsesBuilder((IDictionary <string, object>)dynamicRaml["responses"]).GetAsDictionary(defaultMediaType); } } return(descriptor); }
private void SerializeSecurityDescriptor(StringBuilder sb, SecuritySchemeDescriptor describedBy, int indent) { if (describedBy == null) { return; } sb.AppendLine("describedBy:".Indent(indent)); SerializeParameters(sb, "headers", describedBy.Headers, indent + 2); SerializeParameters(sb, "queryParameters", describedBy.QueryParameters, indent + 2); if (describedBy.Responses != null && describedBy.Responses.Any()) { sb.AppendLine("responses:".Indent(indent + 2)); foreach (var response in describedBy.Responses) { response.Value.Code = response.Key; SerializeResponse(sb, response.Value, indent + 4); } } }
public SecuritySchemeDescriptor Build(IDictionary <string, object> dynamicRaml) { var descriptor = new SecuritySchemeDescriptor(); if (dynamicRaml.ContainsKey("headers")) { descriptor.Headers = new ParametersBuilder((IDictionary <string, object>)dynamicRaml["headers"]).GetAsDictionary(); } if (dynamicRaml.ContainsKey("queryParameters")) { descriptor.QueryParameters = new ParametersBuilder((IDictionary <string, object>)dynamicRaml["queryParameters"]).GetAsDictionary(); } if (dynamicRaml.ContainsKey("responses")) { descriptor.Responses = new ResponsesBuilder((IDictionary <string, object>)dynamicRaml["responses"]).GetAsDictionary(); } return(descriptor); }
public void UseOAuth1(string authorizationUri, string requestTokenUri, string tokenCredentialsUri, SecuritySchemeDescriptor securitySchemeDescriptor) { securityType = "oauth_1_0"; var securitySettings = new SecuritySettings { AuthorizationUri = authorizationUri, RequestTokenUri = requestTokenUri, TokenCredentialsUri = tokenCredentialsUri }; securityScheme = new SecurityScheme { DescribedBy = securitySchemeDescriptor, Settings = securitySettings, Type = new Dictionary <string, IDictionary <string, string> > { { "OAuth 1.0", null } } }; }
public void UseOAuth2(string authorizationUri, string accessTokenUri, IEnumerable <string> authorizationGrants, IEnumerable <string> scopes, SecuritySchemeDescriptor securitySchemeDescriptor) { securityType = "oauth_2_0"; var securitySettings = new SecuritySettings { AuthorizationUri = authorizationUri, AccessTokenUri = accessTokenUri, AuthorizationGrants = authorizationGrants, Scopes = scopes }; securityScheme = new SecurityScheme { DescribedBy = securitySchemeDescriptor, Settings = securitySettings, Type = new Dictionary <string, IDictionary <string, string> > { { "OAuth 2.0", null } } }; }