#### [Abblix\.Utils](https://www.abblix.com/en/docs/api/abblix-utils 'index')
### [Abblix\.Utils](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils 'Abblix\.Utils')

## UriBuilder Class

A wrapper around System\.UriBuilder, providing enhanced functionality for URI manipulation,
specifically for handling query strings and fragments\.

```csharp
public class UriBuilder
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → UriBuilder
### Constructors

## UriBuilder\(string\) Constructor {#Abblix.Utils.UriBuilder.UriBuilder(string)}

Initializes a new instance of the UriBuilder class with the specified URI string\.
Automatically detects and handles both absolute URIs and relative paths\.

```csharp
public UriBuilder(string uri);
```
#### Parameters

###### `uri` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Utils.UriBuilder.UriBuilder(string).uri}

A URI string to use as the base of the UriBuilder\.
            Can be an absolute URI \(e\.g\., "https://example.com/path"\) or a relative path \(e\.g\., "/path"\)\.

## UriBuilder\(Uri\) Constructor {#Abblix.Utils.UriBuilder.UriBuilder(System.Uri)}

Initializes a new instance of the UriBuilder class with the specified Uri instance\.
Supports both absolute and relative URIs\.

```csharp
public UriBuilder(System.Uri uri);
```
#### Parameters

###### `uri` [System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri') {#Abblix.Utils.UriBuilder.UriBuilder(System.Uri).uri}

The Uri instance to use as the base of the UriBuilder\.
### Properties

## UriBuilder\.Fragment Property {#Abblix.Utils.UriBuilder.Fragment}

ParametersBuilder for the fragment part of the URI\.
Used for OAuth/OIDC implicit flow where parameters are passed in fragments\.

```csharp
public Abblix.Utils.ParametersBuilder Fragment { get; }
```

#### Property Value
[ParametersBuilder](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.ParametersBuilder 'Abblix\.Utils\.ParametersBuilder')

## UriBuilder\.Path Property {#Abblix.Utils.UriBuilder.Path}

The path part of the URI\.

```csharp
public string Path { get; set; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

### Remarks
Typed as a plain string rather than the framework's PathString: this is a foundation library, and that
type would put an ASP\.NET Core dependency on every package beneath the server, including hosts that
never serve HTTP\. A caller holding a PathString still assigns and reads it, since that type converts
to and from string implicitly\.

## UriBuilder\.Query Property {#Abblix.Utils.UriBuilder.Query}

ParametersBuilder for the query string\.

```csharp
public Abblix.Utils.ParametersBuilder Query { get; }
```

#### Property Value
[ParametersBuilder](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.ParametersBuilder 'Abblix\.Utils\.ParametersBuilder')

## UriBuilder\.Uri Property {#Abblix.Utils.UriBuilder.Uri}

The URI constructed by the UriBuilder\.
For relative URIs, returns the path, query, and fragment without scheme and host\.

```csharp
public System.Uri Uri { get; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')

### Remarks
Note: This property has side effects \(updates internal builder state\) and is not thread\-safe\.
If thread safety is required, synchronize access to this instance externally\.
### Operators

## UriBuilder\.implicit operator string\(UriBuilder\) Operator {#Abblix.Utils.UriBuilder.op_Implicitstring(Abblix.Utils.UriBuilder)}

Converts a UriBuilder instance to a string\.

```csharp
public static string implicit operator string(Abblix.Utils.UriBuilder builder);
```
#### Parameters

###### `builder` [UriBuilder](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.UriBuilder 'Abblix\.Utils\.UriBuilder') {#Abblix.Utils.UriBuilder.op_Implicitstring(Abblix.Utils.UriBuilder).builder}

The UriBuilder instance to convert\.

#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## UriBuilder\.implicit operator Uri\(UriBuilder\) Operator {#Abblix.Utils.UriBuilder.op_ImplicitSystem.Uri(Abblix.Utils.UriBuilder)}

Converts a UriBuilder instance to a Uri\.

```csharp
public static System.Uri implicit operator System.Uri(Abblix.Utils.UriBuilder builder);
```
#### Parameters

###### `builder` [UriBuilder](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.UriBuilder 'Abblix\.Utils\.UriBuilder') {#Abblix.Utils.UriBuilder.op_ImplicitSystem.Uri(Abblix.Utils.UriBuilder).builder}

The UriBuilder instance to convert\.

#### Returns
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')
