@Override public Boolean visitPrimitive(PrimitiveType value) { return value.get() == PrimitiveType.Value.ANY; } }
public static Type parsePrimitiveType( com.palantir.conjure.parser.types.primitive.PrimitiveType primitiveType) { return Type.primitive(PrimitiveType.valueOf(primitiveType.name())); }
@Override public Boolean visitPrimitive(PrimitiveType value) { return value.get() == PrimitiveType.Value.BINARY; } }
@Override public Boolean visitPrimitive(PrimitiveType value) { return value.get() == PrimitiveType.Value.BINARY; } }
@Override public Boolean visitPrimitive(PrimitiveType value) { return value.get() == PrimitiveType.Value.ANY; } }
private static Optional<TypeName> resolveReferenceType(Type type) { if (type.accept(TypeVisitor.IS_REFERENCE)) { return Optional.of(type.accept(TypeVisitor.REFERENCE)); } else if (type.accept(TypeVisitor.IS_PRIMITIVE)) { return Optional.of( TypeName.of(type.accept(TypeVisitor.PRIMITIVE).get().name(), "")); } return Optional.empty(); }
@Override public void validate(EndpointDefinition definition, DealiasingTypeVisitor dealiasingTypeVisitor) { definition.getArgs().stream() .filter(entry -> entry.getParamType().accept(ParameterTypeVisitor.IS_PATH) || entry.getParamType().accept(ParameterTypeVisitor.IS_QUERY)) .forEach(entry -> { Either<TypeDefinition, Type> conjureType = dealiasingTypeVisitor.dealias(entry.getType()); boolean isValid = conjureType.fold( typeDefinition -> true, type -> !type.accept(TypeVisitor.IS_PRIMITIVE) || type.accept(TypeVisitor.PRIMITIVE).get() != PrimitiveType.Value.BEARERTOKEN ); Preconditions.checkState(isValid, "Path or query parameters of type 'bearertoken' are not allowed as this " + "would introduce a security vulnerability: \"%s\"", entry.getArgName()); }); } }