Class BowireMethodInfo

Namespace
Kuestenlogik.Bowire.Models
Assembly
Kuestenlogik.Bowire.dll

Describes a single method within a service. Originally modeled after gRPC, extended with optional REST/HTTP annotations so the same shape can describe REST endpoints discovered from OpenAPI documents.

public sealed record BowireMethodInfo : IEquatable<BowireMethodInfo>
Inheritance
BowireMethodInfo
Implements
Inherited Members

Constructors

BowireMethodInfo(string, string, bool, bool, BowireMessageInfo, BowireMessageInfo, string)

Describes a single method within a service. Originally modeled after gRPC, extended with optional REST/HTTP annotations so the same shape can describe REST endpoints discovered from OpenAPI documents.

public BowireMethodInfo(string Name, string FullName, bool ClientStreaming, bool ServerStreaming, BowireMessageInfo InputType, BowireMessageInfo OutputType, string MethodType)

Parameters

Name string
FullName string
ClientStreaming bool
ServerStreaming bool
InputType BowireMessageInfo
OutputType BowireMessageInfo
MethodType string

Properties

ClientStreaming

public bool ClientStreaming { get; init; }

Property Value

bool

Deprecated

True if the source schema marks this operation as deprecated.

public bool Deprecated { get; init; }

Property Value

bool

Description

Long-form description, may contain Markdown (REST: OpenAPI Operation.Description). Optional.

public string? Description { get; init; }

Property Value

string

FullName

public string FullName { get; init; }

Property Value

string

HttpMethod

HTTP verb for REST methods (GET, POST, PUT, PATCH, DELETE, ...). Null for non-REST protocols.

public string? HttpMethod { get; init; }

Property Value

string

HttpPath

Path template for REST methods, e.g. "/users/{id}". Null for non-REST protocols.

public string? HttpPath { get; init; }

Property Value

string

InputType

public BowireMessageInfo InputType { get; init; }

Property Value

BowireMessageInfo

MethodType

public string MethodType { get; init; }

Property Value

string

Name

public string Name { get; init; }

Property Value

string

OutputType

public BowireMessageInfo OutputType { get; init; }

Property Value

BowireMessageInfo

ServerStreaming

public bool ServerStreaming { get; init; }

Property Value

bool

Summary

One-line summary from the source schema (REST: OpenAPI Operation.Summary). Optional.

public string? Summary { get; init; }

Property Value

string

Methods

Deconstruct(out string, out string, out bool, out bool, out BowireMessageInfo, out BowireMessageInfo, out string)

public void Deconstruct(out string Name, out string FullName, out bool ClientStreaming, out bool ServerStreaming, out BowireMessageInfo InputType, out BowireMessageInfo OutputType, out string MethodType)

Parameters

Name string
FullName string
ClientStreaming bool
ServerStreaming bool
InputType BowireMessageInfo
OutputType BowireMessageInfo
MethodType string

Equals(BowireMethodInfo?)

public bool Equals(BowireMethodInfo? other)

Parameters

other BowireMethodInfo

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(BowireMethodInfo?, BowireMethodInfo?)

public static bool operator ==(BowireMethodInfo? left, BowireMethodInfo? right)

Parameters

left BowireMethodInfo
right BowireMethodInfo

Returns

bool

operator !=(BowireMethodInfo?, BowireMethodInfo?)

public static bool operator !=(BowireMethodInfo? left, BowireMethodInfo? right)

Parameters

left BowireMethodInfo
right BowireMethodInfo

Returns

bool