public bool CanAccess(Format format, string operationName) { if (!HostContext.Config.EnableAccessRestrictions) { return(true); } OperationNamesMap.TryGetValue(operationName.ToLowerInvariant(), out var operation); if (operation == null) { return(false); } var canCall = HasImplementation(operation, format); if (!canCall) { return(false); } if (operation.RestrictTo == null) { return(true); } var allowsFormat = operation.RestrictTo.HasAccessTo((RequestAttributes)(long)format); return(allowsFormat); }
public Type GetOperationType(string operationTypeName) { Operation operation; OperationNamesMap.TryGetValue(operationTypeName.ToLower(), out operation); return(operation != null ? operation.RequestType : null); }
public bool CanAccess(Format format, string operationName) { if (EndpointHost.Config != null && !EndpointHost.Config.EnableAccessRestrictions) { return(true); } Operation operation; OperationNamesMap.TryGetValue(operationName.ToLower(), out operation); if (operation == null) { return(false); } var canCall = HasImplementation(operation, format); if (!canCall) { return(false); } if (operation.RestrictTo == null) { return(true); } var allowsFormat = operation.RestrictTo.HasAccessTo((EndpointAttributes)(long)format); return(allowsFormat); }
public Type GetOperationType(string operationTypeName) { var opName = operationTypeName.ToLowerInvariant(); if (!OperationNamesMap.TryGetValue(opName, out var operation)) { var arrayPos = opName.LastIndexOf('['); if (arrayPos >= 0) { opName = opName.Substring(0, arrayPos); OperationNamesMap.TryGetValue(opName, out operation); return(operation?.RequestType.MakeArrayType()); } } return(operation?.RequestType); }
public Type GetOperationType(string operationTypeName) { Operation operation; var opName = operationTypeName.ToLower(); if (!OperationNamesMap.TryGetValue(opName, out operation)) { var arrayPos = opName.LastIndexOf('['); if (arrayPos >= 0) { opName = opName.Substring(0, arrayPos); OperationNamesMap.TryGetValue(opName, out operation); return(operation != null ? operation.RequestType.MakeArrayType() : null); } } return(operation != null ? operation.RequestType : null); }
public bool IsVisible(IRequest httpReq, Format format, string operationName) { if (HostContext.Config != null && !HostContext.Config.EnableAccessRestrictions) { return(true); } Operation operation; OperationNamesMap.TryGetValue(operationName.ToLowerInvariant(), out operation); if (operation == null) { return(false); } if (operation.RequestType.ExcludesFeature(Feature.Metadata)) { return(false); } var canCall = HasImplementation(operation, format); if (!canCall) { return(false); } var isVisible = IsVisible(httpReq, operation); if (!isVisible) { return(false); } if (operation.RestrictTo == null) { return(true); } var allowsFormat = operation.RestrictTo.CanShowTo((RequestAttributes)(long)format); return(allowsFormat); }