Class BowireServiceInfo

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

Describes a gRPC service discovered via reflection or proto file import.

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

Constructors

BowireServiceInfo(string, string, List<BowireMethodInfo>)

Describes a gRPC service discovered via reflection or proto file import.

public BowireServiceInfo(string Name, string Package, List<BowireMethodInfo> Methods)

Parameters

Name string
Package string
Methods List<BowireMethodInfo>

Properties

Description

Human-readable description from the source schema (REST: OpenAPI Info.Description). Optional.

public string? Description { get; init; }

Property Value

string

IsUploaded

True when this service was discovered from a user-uploaded schema file (.proto, OpenAPI .json/.yaml). The Source Selector uses this to keep "Schema Files" mode separate from "Server URL" mode. Mutable so plugins can flip it after construction.

public bool IsUploaded { get; set; }

Property Value

bool

Methods

public List<BowireMethodInfo> Methods { get; init; }

Property Value

List<BowireMethodInfo>

Name

public string Name { get; init; }

Property Value

string

OriginUrl

The URL this service was discovered from. Used by multi-URL setups so invocations can route back to the right base URL. For embedded mode this is null. Mutable so the discovering plugin can set it after construction without rebuilding the record.

public string? OriginUrl { get; set; }

Property Value

string

Package

public string Package { get; init; }

Property Value

string

SchemaDescriptor

gRPC-only: serialised FileDescriptorSet bytes for the protos that define this service (plus its transitive deps). Captured by the gRPC plugin at discovery time from Server Reflection so mock-server replay can expose Server Reflection on the mock itself — which lets a second Bowire workbench auto-discover the mocked services. null for protocols that have no proto schema (REST, SignalR, GraphQL, MQTT, ...).

public byte[]? SchemaDescriptor { get; set; }

Property Value

byte[]

Source

How this service was discovered: "reflection" (default) or "proto" (from .proto file). When "proto", invocation requires gRPC Server Reflection on the target server.

public string Source { get; set; }

Property Value

string

Version

API version string from the source schema (REST: OpenAPI Info.Version). Optional.

public string? Version { get; init; }

Property Value

string

Methods

Deconstruct(out string, out string, out List<BowireMethodInfo>)

public void Deconstruct(out string Name, out string Package, out List<BowireMethodInfo> Methods)

Parameters

Name string
Package string
Methods List<BowireMethodInfo>

Equals(BowireServiceInfo?)

public bool Equals(BowireServiceInfo? other)

Parameters

other BowireServiceInfo

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 ==(BowireServiceInfo?, BowireServiceInfo?)

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

Parameters

left BowireServiceInfo
right BowireServiceInfo

Returns

bool

operator !=(BowireServiceInfo?, BowireServiceInfo?)

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

Parameters

left BowireServiceInfo
right BowireServiceInfo

Returns

bool