// Copyright © WireMock.Net using System; using System.Collections.Generic; #if NETSTANDARD1_3_OR_GREATER || NET461 using System.Security.Cryptography.X509Certificates; #endif using WireMock.Types; using WireMock.Util; namespace WireMock; /// /// IRequestMessage /// public interface IRequestMessage { /// /// Gets the Client IP Address. /// string ClientIP { get; } /// /// Gets the url (relative). /// string Url { get; } /// /// Gets the AbsoluteUrl. /// string AbsoluteUrl { get; } /// /// The ProxyUrl (if a proxy is used). /// string? ProxyUrl { get; set; } /// /// Gets the DateTime. /// DateTime DateTime { get; } /// /// Gets the path (relative). /// string Path { get; } /// /// Gets the AbsolutePath. /// string AbsolutePath { get; } /// /// Gets the path segments. /// string[] PathSegments { get; } /// /// Gets the absolute path segments. /// string[] AbsolutePathSegments { get; } /// /// Gets the method. /// string Method { get; } /// /// Gets the HTTP Version. /// string HttpVersion { get; } /// /// Gets the headers. /// IDictionary>? Headers { get; } /// /// Gets the cookies. /// IDictionary? Cookies { get; } /// /// Gets the query. /// IDictionary>? Query { get; } /// /// Gets the query. /// IDictionary>? QueryIgnoreCase { get; } /// /// Gets the raw query. /// string RawQuery { get; } /// /// The body. /// IBodyData? BodyData { get; } /// /// The original body as string. /// Convenience getter for Handlebars and WireMockAssertions. /// string? Body { get; } /// /// The body (as JSON object). /// Convenience getter for Handlebars and WireMockAssertions. /// object? BodyAsJson { get; } /// /// The body (as bytearray). /// Convenience getter for Handlebars and WireMockAssertions. /// byte[]? BodyAsBytes { get; } #if MIMEKIT /// /// The original body as MimeMessage. /// Convenience getter for Handlebars and WireMockAssertions. /// Models.Mime.IMimeMessageData? BodyAsMimeMessage { get; } #endif /// /// The detected body type. Convenience getter for Handlebars. /// string? DetectedBodyType { get; } /// /// The detected body type from the Content-Type header. Convenience getter for Handlebars. /// string? DetectedBodyTypeFromContentType { get; } /// /// The detected compression from the Content-Encoding header. Convenience getter for Handlebars. /// string? DetectedCompression { get; } /// /// Gets the Host /// string Host { get; } /// /// Gets the protocol /// string Protocol { get; } /// /// Gets the port /// int Port { get; } /// /// Gets the origin /// string Origin { get; } /// /// Get a query parameter. /// /// The key. /// Defines if the key should be matched using case-ignore. /// The query parameter value as WireMockList or null when not found. WireMockList? GetParameter(string key, bool ignoreCase = false); #if NETSTANDARD1_3_OR_GREATER || NET461 /// /// Gets the connection's client certificate /// X509Certificate2? ClientCertificate { get; } #endif }