Exemplo n.º 1
0
        public bool IsVisible(IHttpRequest httpReq, Format format, string operationName)
        {
            if (EndpointHost.Config != null && !EndpointHost.Config.EnableAccessRestrictions)
            {
                return(true);
            }

            Operation operation;

            OperationNameMap.TryGetValue(operationName.ToLower(), out operation);
            if (operation == null)
            {
                return(false);
            }

            var isVisible = IsVisible(httpReq, operation);

            if (!isVisible)
            {
                return(false);
            }

            if (operation.RestrictTo == null)
            {
                return(true);
            }
            var allowsFormat = operation.RestrictTo.CanShowTo((EndpointAttributes)(long)format);

            return(allowsFormat);
        }
Exemplo n.º 2
0
        public bool CanAccess(EndpointAttributes reqAttrs, Format format, string operationName)
        {
            if (EndpointHost.Config != null && !EndpointHost.Config.EnableAccessRestrictions)
            {
                return(true);
            }

            Operation operation;

            OperationNameMap.TryGetValue(operationName.ToLower(), out operation);
            if (operation == null)
            {
                return(false);
            }

            if (operation.RestrictTo == null)
            {
                return(true);
            }

            var allow = operation.RestrictTo.HasAccessTo(reqAttrs);

            if (!allow)
            {
                return(false);
            }

            var allowsFormat = operation.RestrictTo.HasAccessTo((EndpointAttributes)(long)format);

            return(allowsFormat);
        }
Exemplo n.º 3
0
        public HystrixCommand GetHystrixCommandByOpName(string operationName)
        {
            Operation operation;

            OperationNameMap.TryGetValue(operationName.ToLower(), out operation);
            return(operation != null ? operation.HystrixCommand : null);
        }
Exemplo n.º 4
0
        public Type GetResponseTypeByOpName(string operationName)
        {
            Operation operation;

            OperationNameMap.TryGetValue(operationName.ToLower(), out operation);
            return(operation != null ? operation.ResponseType : null);
        }
Exemplo n.º 5
0
        public Operation GetOperationByOpName(string operationName)
        {
            Operation op;

            OperationNameMap.TryGetValue(operationName.ToLower(), out op);
            return(op);
        }
Exemplo n.º 6
0
 public bool HasOperation(string operationName)
 {
     if (operationName == null)
     {
         return(false);
     }
     return(OperationNameMap.ContainsKey(operationName.ToLower()));
 }
Exemplo n.º 7
0
        public void AfterInit()
        {
            foreach (var restPath in Routes.RestPaths)
            {
                Operation operation;
                if (!OperationNameMap.TryGetValue(restPath.OperationName.ToLower(), out operation))
                {
                    continue;
                }

                operation.Routes.Add(restPath);
            }
        }