/// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            ListNamespacesResponse response = new ListNamespacesResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Namespaces", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <NamespaceInfoV2, NamespaceInfoV2Unmarshaller>(NamespaceInfoV2Unmarshaller.Instance);
                    response.Namespaces = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("NextToken", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.NextToken = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("RequestId", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.RequestId = unmarshaller.Unmarshall(context);
                    continue;
                }
            }
            response.Status = (int)context.ResponseData.StatusCode;

            return(response);
        }
Example #2
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonServiceDiscoveryConfig config = new AmazonServiceDiscoveryConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonServiceDiscoveryClient client = new AmazonServiceDiscoveryClient(creds, config);

            ListNamespacesResponse resp = new ListNamespacesResponse();

            do
            {
                ListNamespacesRequest req = new ListNamespacesRequest
                {
                    NextToken = resp.NextToken
                    ,
                    MaxResults = maxItems
                };

                resp = client.ListNamespaces(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.Namespaces)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.NextToken));
        }
        public static ListNamespacesResponse Unmarshall(UnmarshallerContext _ctx)
        {
            ListNamespacesResponse listNamespacesResponse = new ListNamespacesResponse();

            listNamespacesResponse.HttpResponse = _ctx.HttpResponse;
            listNamespacesResponse.RequestId    = _ctx.StringValue("ListNamespaces.RequestId");
            listNamespacesResponse.Code         = _ctx.IntegerValue("ListNamespaces.Code");
            listNamespacesResponse.Success      = _ctx.BooleanValue("ListNamespaces.Success");
            listNamespacesResponse.Message      = _ctx.StringValue("ListNamespaces.Message");

            ListNamespacesResponse.ListNamespaces_Data data = new ListNamespacesResponse.ListNamespaces_Data();

            List <ListNamespacesResponse.ListNamespaces_Data.ListNamespaces__Namespace> data_namespaces = new List <ListNamespacesResponse.ListNamespaces_Data.ListNamespaces__Namespace>();

            for (int i = 0; i < _ctx.Length("ListNamespaces.Data.Namespaces.Length"); i++)
            {
                ListNamespacesResponse.ListNamespaces_Data.ListNamespaces__Namespace _namespace = new ListNamespacesResponse.ListNamespaces_Data.ListNamespaces__Namespace();
                _namespace.Name        = _ctx.StringValue("ListNamespaces.Data.Namespaces[" + i + "].Name");
                _namespace.UId         = _ctx.StringValue("ListNamespaces.Data.Namespaces[" + i + "].UId");
                _namespace.Description = _ctx.StringValue("ListNamespaces.Data.Namespaces[" + i + "].Description");

                data_namespaces.Add(_namespace);
            }
            data.Namespaces             = data_namespaces;
            listNamespacesResponse.Data = data;

            return(listNamespacesResponse);
        }
        public override object Handle(HttpContext httpContext)
        {
            var requestObject = JsonHelper.DeserializeRequestObject(httpContext.Request.Body)
                                .ToObject <ListNamespacesRequest>();
            var assemblyPath = requestObject.AssemblyPath;
            var types        = _decompilationProvider.ListNamespaces(assemblyPath);
            var data         = new ListNamespacesResponse {
                Namespaces = types
            };

            return(data);
        }