protected virtual StatementSyntax GenerateRequestMessageVariable( ILocatedOpenApiElement <OpenApiOperation> operation) => MethodHelpers.LocalVariableDeclarationWithInitializer(RequestMessageVariableName, ObjectCreationExpression(WellKnownTypes.System.Net.Http.HttpRequestMessage.Name) .AddArgumentListArguments( Argument(GetRequestMethod(operation)), Argument(BuildUriMethodGenerator.InvokeBuildUri(ThisExpression()))));
public override IEnumerable <MemberDeclarationSyntax> Generate() { var classNameAndNamespace = (QualifiedNameSyntax)GetTypeName(); string className = classNameAndNamespace.Right.Identifier.Text; ClassDeclarationSyntax declaration = ClassDeclaration(className) .AddElementAnnotation(Element, Context.ElementRegistry) .AddModifiers(Token(SyntaxKind.PublicKeyword)) .AddBaseListTypes(SimpleBaseType(RequestsNamespace.OperationRequest)) .AddMembers(ConstructorDeclaration(className) .AddModifiers(Token(SyntaxKind.PublicKeyword)) .WithBody(Block())); declaration = AddParameterProperties(declaration, Element.GetParameters()); var requestBodyElement = Element.GetRequestBody(); if (requestBodyElement != null) { var schema = MediaTypeSelector.Select(requestBodyElement)?.GetSchema(); if (schema != null) { declaration = declaration.AddMembers( CreatePropertyDeclaration(requestBodyElement, className, schema, "Body")); } } declaration = declaration.AddMembers( BuildRequestMethodGenerator.Generate(Element), BuildUriMethodGenerator.Generate(Element), AddHeadersMethodGenerator.Generate(Element), BuildContentMethodGenerator.Generate(Element)); yield return(declaration); }