Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions cs/src/Contracts/TunnelOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,5 +94,18 @@ public class TunnelOptions
/// </remarks>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public bool? IsPartitionedSiteAuthenticationEnabled { get; set; }

/// <summary>
/// Gets or sets the timeout for HTTP requests to the tunnel or port.
/// </summary>
/// <remarks>
/// The default timeout is 100 seconds. Set this to 0 to disable the timeout. The timeout
/// will reset when response headers are received or after successfully reading or writing
/// any request, response, or streaming data like gRPC or WebSockets. TCP keep-alives and
/// HTTP/2 protocol pings will not reset the timeout, but WebSocket pings will. When a
/// request times out, the tunnel relay aborts the request and returns 504 Gateway Timeout.
/// </remarks>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public int? RequestTimeoutSeconds { get; set; }
}
}
10 changes: 10 additions & 0 deletions go/tunnels/tunnel_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,14 @@ type TunnelOptions struct {
// A partitioned cookie always also has SameSite=None for compatbility with browsers that
// do not support partitioning.
IsPartitionedSiteAuthenticationEnabled bool `json:"isPartitionedSiteAuthenticationEnabled,omitempty"`

// Gets or sets the timeout for HTTP requests to the tunnel or port.
//
// The default timeout is 100 seconds. Set this to 0 to disable the timeout. The timeout
// will reset when response headers are received or after successfully reading or writing
// any request, response, or streaming data like gRPC or WebSockets. TCP keep-alives and
// HTTP/2 protocol pings will not reset the timeout, but WebSocket pings will. When a
// request times out, the tunnel relay aborts the request and returns 504 Gateway
// Timeout.
RequestTimeoutSeconds int32 `json:"requestTimeoutSeconds,omitempty"`
}
2 changes: 1 addition & 1 deletion go/tunnels/tunnels.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"github.com/rodaine/table"
)

const PackageVersion = "0.1.17"
const PackageVersion = "0.1.18"

func (tunnel *Tunnel) requestObject() (*Tunnel, error) {
convertedTunnel := &Tunnel{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,17 @@ public class TunnelOptions {
*/
@Expose
public boolean isPartitionedSiteAuthenticationEnabled;

/**
* Gets or sets the timeout for HTTP requests to the tunnel or port.
*
* The default timeout is 100 seconds. Set this to 0 to disable the timeout. The
* timeout will reset when response headers are received or after successfully reading
* or writing any request, response, or streaming data like gRPC or WebSockets. TCP
* keep-alives and HTTP/2 protocol pings will not reset the timeout, but WebSocket
* pings will. When a request times out, the tunnel relay aborts the request and
* returns 504 Gateway Timeout.
*/
@Expose
public int requestTimeoutSeconds;
}
11 changes: 11 additions & 0 deletions rs/src/contracts/tunnel_options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,15 @@ pub struct TunnelOptions {
// that do not support partitioning.
#[serde(default)]
pub is_partitioned_site_authentication_enabled: Option<bool>,

// Gets or sets the timeout for HTTP requests to the tunnel or port.
//
// The default timeout is 100 seconds. Set this to 0 to disable the timeout. The
// timeout will reset when response headers are received or after successfully reading
// or writing any request, response, or streaming data like gRPC or WebSockets. TCP
// keep-alives and HTTP/2 protocol pings will not reset the timeout, but WebSocket
// pings will. When a request times out, the tunnel relay aborts the request and
// returns 504 Gateway Timeout.
#[serde(default)]
pub request_timeout_seconds: Option<i32>,
}
4 changes: 2 additions & 2 deletions ts/src/connections/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
"buffer": "^5.2.1",
"debug": "^4.1.1",
"vscode-jsonrpc": "^4.0.0",
"@microsoft/dev-tunnels-contracts": "^1.3.0",
"@microsoft/dev-tunnels-management": "^1.3.0",
"@microsoft/dev-tunnels-contracts": "^1.3.6",
"@microsoft/dev-tunnels-management": "^1.3.6",
"@microsoft/dev-tunnels-ssh": "^3.12.12",
"@microsoft/dev-tunnels-ssh-tcp": "^3.12.12",
"uuid": "^3.3.3",
Expand Down
12 changes: 12 additions & 0 deletions ts/src/contracts/tunnelOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,16 @@ export interface TunnelOptions {
* that do not support partitioning.
*/
isPartitionedSiteAuthenticationEnabled?: boolean;

/**
* Gets or sets the timeout for HTTP requests to the tunnel or port.
*
* The default timeout is 100 seconds. Set this to 0 to disable the timeout. The
* timeout will reset when response headers are received or after successfully reading
* or writing any request, response, or streaming data like gRPC or WebSockets. TCP
* keep-alives and HTTP/2 protocol pings will not reset the timeout, but WebSocket
* pings will. When a request times out, the tunnel relay aborts the request and
* returns 504 Gateway Timeout.
*/
requestTimeoutSeconds?: number;
}
2 changes: 1 addition & 1 deletion ts/src/management/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"buffer": "^5.2.1",
"debug": "^4.1.1",
"vscode-jsonrpc": "^4.0.0",
"@microsoft/dev-tunnels-contracts": "^1.3.0",
"@microsoft/dev-tunnels-contracts": "^1.3.6",
"axios": "^1.8.4"
}
}