ExUtcp.Providers (ex_utcp v0.2.8)

View Source

Provider implementations for different protocols.

This module contains the data structures and functions for various provider types including HTTP, CLI, WebSocket, gRPC, GraphQL, TCP, UDP, WebRTC, MCP, and Text providers.

Summary

Functions

Gets the provider name from a provider struct.

Gets the provider type from a provider struct.

Creates a new CLI provider.

Creates a new GraphQL provider.

Creates a new gRPC provider.

Creates a new HTTP provider.

Creates a new MCP provider.

Creates a new SSE provider.

Creates a new Streamable HTTP provider.

Creates a new TCP provider.

Creates a new Text provider.

Creates a new UDP provider.

Creates a new WebRTC provider.

Creates a new WebSocket provider.

Normalizes provider name by replacing dots with underscores.

Sets the provider name.

Validates a provider configuration.

Functions

get_name(provider)

@spec get_name(ExUtcp.Types.provider()) :: String.t()

Gets the provider name from a provider struct.

get_type(provider)

Gets the provider type from a provider struct.

new_cli_provider(opts)

@spec new_cli_provider(keyword()) :: ExUtcp.Types.cli_provider()

Creates a new CLI provider.

new_graphql_provider(opts)

@spec new_graphql_provider(keyword()) :: ExUtcp.Types.graphql_provider()

Creates a new GraphQL provider.

new_grpc_provider(opts)

@spec new_grpc_provider(keyword()) :: ExUtcp.Types.grpc_provider()

Creates a new gRPC provider.

new_http_provider(opts)

@spec new_http_provider(keyword()) :: ExUtcp.Types.http_provider()

Creates a new HTTP provider.

new_mcp_provider(opts)

@spec new_mcp_provider(keyword()) :: ExUtcp.Types.mcp_provider()

Creates a new MCP provider.

new_sse_provider(opts)

@spec new_sse_provider(keyword()) :: ExUtcp.Types.sse_provider()

Creates a new SSE provider.

new_streamable_http_provider(opts)

@spec new_streamable_http_provider(keyword()) ::
  ExUtcp.Types.streamable_http_provider()

Creates a new Streamable HTTP provider.

new_tcp_provider(opts)

@spec new_tcp_provider(keyword()) :: ExUtcp.Types.tcp_provider()

Creates a new TCP provider.

new_text_provider(opts)

@spec new_text_provider(keyword()) :: ExUtcp.Types.text_provider()

Creates a new Text provider.

new_udp_provider(opts)

@spec new_udp_provider(keyword()) :: ExUtcp.Types.udp_provider()

Creates a new UDP provider.

new_webrtc_provider(opts)

@spec new_webrtc_provider(keyword()) :: ExUtcp.Types.webrtc_provider()

Creates a new WebRTC provider.

new_websocket_provider(opts)

@spec new_websocket_provider(keyword()) :: ExUtcp.Types.websocket_provider()

Creates a new WebSocket provider.

normalize_name(name)

@spec normalize_name(String.t()) :: String.t()

Normalizes provider name by replacing dots with underscores.

set_name(provider, name)

Sets the provider name.

validate_provider(provider)

@spec validate_provider(ExUtcp.Types.provider()) :: :ok | {:error, String.t()}

Validates a provider configuration.