Skip to content

Commit

Permalink
Merge pull request #235 from DataDog/buranmert/RUMM-659-govcloud-endp…
Browse files Browse the repository at this point in the history
…oints

RUMM-659 GovCloud endpoints added
  • Loading branch information
buranmert authored Sep 1, 2020
2 parents e21e1fd + 1f00245 commit d132e2c
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 4 deletions.
12 changes: 12 additions & 0 deletions Sources/Datadog/DatadogConfiguration.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,17 @@ extension Datadog {
/// Europe based servers.
/// Sends logs to [app.datadoghq.eu](https://app.datadoghq.eu/).
case eu
/// Gov servers.
/// Sends logs to [app.ddog-gov.com](https://app.ddog-gov.com/).
case gov
/// User-defined server.
case custom(url: String)

internal var url: String {
switch self {
case .us: return "https://mobile-http-intake.logs.datadoghq.com/v1/input/"
case .eu: return "https://mobile-http-intake.logs.datadoghq.eu/v1/input/"
case .gov: return "https://mobile-http-intake.logs.ddog-gov.com/v1/input/"
case let .custom(url: url): return url
}
}
Expand All @@ -42,13 +46,17 @@ extension Datadog {
/// Europe based servers.
/// Sends traces to [app.datadoghq.eu](https://app.datadoghq.eu/).
case eu
/// Gov servers.
/// Sends traces to [app.ddog-gov.com](https://app.ddog-gov.com/).
case gov
/// User-defined server.
case custom(url: String)

internal var url: String {
switch self {
case .us: return "https://public-trace-http-intake.logs.datadoghq.com/v1/input/"
case .eu: return "https://public-trace-http-intake.logs.datadoghq.eu/v1/input/"
case .gov: return "https://public-trace-http-intake.logs.ddog-gov.com/v1/input/"
case let .custom(url: url): return url
}
}
Expand All @@ -62,13 +70,17 @@ extension Datadog {
/// Europe based servers.
/// Sends RUM events to [app.datadoghq.eu](https://app.datadoghq.eu/).
case eu
/// Gov servers.
/// Sends RUM events to [app.ddog-gov.com](https://app.ddog-gov.com/).
case gov
/// User-defined server.
case custom(url: String)

internal var url: String {
switch self {
case .us: return "https://rum-http-intake.logs.datadoghq.com/v1/input/"
case .eu: return "https://rum-http-intake.logs.datadoghq.eu/v1/input/"
case .gov: return "https://rum-http-intake.logs.ddog-gov.com/v1/input/"
case let .custom(url: url): return url
}
}
Expand Down
2 changes: 2 additions & 0 deletions Sources/DatadogObjc/DatadogConfiguration+objc.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public class DDLogsEndpoint: NSObject {

public static func eu() -> DDLogsEndpoint { .init(sdkEndpoint: .eu) }
public static func us() -> DDLogsEndpoint { .init(sdkEndpoint: .us) }
public static func gov() -> DDLogsEndpoint { .init(sdkEndpoint: .gov) }
public static func custom(url: String) -> DDLogsEndpoint { .init(sdkEndpoint: .custom(url: url)) }
}

Expand All @@ -34,6 +35,7 @@ public class DDTracesEndpoint: NSObject {

public static func eu() -> DDTracesEndpoint { .init(sdkEndpoint: .eu) }
public static func us() -> DDTracesEndpoint { .init(sdkEndpoint: .us) }
public static func gov() -> DDTracesEndpoint { .init(sdkEndpoint: .gov) }
public static func custom(url: String) -> DDTracesEndpoint { .init(sdkEndpoint: .custom(url: url)) }
}

Expand Down
12 changes: 12 additions & 0 deletions Tests/DatadogTests/Datadog/Core/FeaturesConfigurationTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,10 @@ class FeaturesConfigurationTests: XCTestCase {
try createConfiguration(clientToken: "abc", logsEndpoint: .eu).logging?.uploadURLWithClientToken,
URL(string: "https://mobile-http-intake.logs.datadoghq.eu/v1/input/abc")!
)
XCTAssertEqual(
try createConfiguration(clientToken: "abc", logsEndpoint: .gov).logging?.uploadURLWithClientToken,
URL(string: "https://mobile-http-intake.logs.ddog-gov.com/v1/input/abc")!
)
XCTAssertEqual(
try createConfiguration(clientToken: "abc", logsEndpoint: .custom(url: "http://example.com/api")).logging?.uploadURLWithClientToken,
URL(string: "http://example.com/api/abc")!
Expand All @@ -148,6 +152,10 @@ class FeaturesConfigurationTests: XCTestCase {
try createConfiguration(clientToken: "abc", tracesEndpoint: .eu).tracing?.uploadURLWithClientToken,
URL(string: "https://public-trace-http-intake.logs.datadoghq.eu/v1/input/abc")!
)
XCTAssertEqual(
try createConfiguration(clientToken: "abc", tracesEndpoint: .gov).tracing?.uploadURLWithClientToken,
URL(string: "https://public-trace-http-intake.logs.ddog-gov.com/v1/input/abc")!
)
XCTAssertEqual(
try createConfiguration(clientToken: "abc", tracesEndpoint: .custom(url: "http://example.com/api")).tracing?.uploadURLWithClientToken,
URL(string: "http://example.com/api/abc")!
Expand Down Expand Up @@ -184,6 +192,10 @@ class FeaturesConfigurationTests: XCTestCase {
try createConfiguration(clientToken: "abc", rumEndpoint: .eu).rum?.uploadURLWithClientToken,
URL(string: "https://rum-http-intake.logs.datadoghq.eu/v1/input/abc")!
)
XCTAssertEqual(
try createConfiguration(clientToken: "abc", rumEndpoint: .gov).rum?.uploadURLWithClientToken,
URL(string: "https://rum-http-intake.logs.ddog-gov.com/v1/input/abc")!
)
XCTAssertEqual(
try createConfiguration(clientToken: "abc", rumEndpoint: .custom(url: "http://example.com/api")).rum?.uploadURLWithClientToken,
URL(string: "http://example.com/api/abc")!
Expand Down
12 changes: 8 additions & 4 deletions Tests/DatadogTests/DatadogObjc/DDConfigurationTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ import XCTest
extension Datadog.Configuration.LogsEndpoint: Equatable {
public static func == (_ lhs: Datadog.Configuration.LogsEndpoint, _ rhs: Datadog.Configuration.LogsEndpoint) -> Bool {
switch (lhs, rhs) {
case (.us, .us): return true
case (.eu, .eu): return true
case (.us, .us), (.eu, .eu), (.gov, .gov): return true
case let (.custom(lhsURL), .custom(rhsURL)): return lhsURL == rhsURL
default: return false
}
Expand All @@ -22,8 +21,7 @@ extension Datadog.Configuration.LogsEndpoint: Equatable {
extension Datadog.Configuration.TracesEndpoint: Equatable {
public static func == (_ lhs: Datadog.Configuration.TracesEndpoint, _ rhs: Datadog.Configuration.TracesEndpoint) -> Bool {
switch (lhs, rhs) {
case (.us, .us): return true
case (.eu, .eu): return true
case (.us, .us), (.eu, .eu), (.gov, .gov): return true
case let (.custom(lhsURL), .custom(rhsURL)): return lhsURL == rhsURL
default: return false
}
Expand Down Expand Up @@ -64,6 +62,12 @@ class DDConfigurationTests: XCTestCase {
XCTAssertEqual(swiftConfigurationUS.logsEndpoint, .us)
XCTAssertEqual(swiftConfigurationUS.tracesEndpoint, .us)

objcBuilder.set(logsEndpoint: .gov())
objcBuilder.set(tracesEndpoint: .gov())
let swiftConfigurationGov = objcBuilder.build().sdkConfiguration
XCTAssertEqual(swiftConfigurationGov.logsEndpoint, .gov)
XCTAssertEqual(swiftConfigurationGov.tracesEndpoint, .gov)

objcBuilder.set(logsEndpoint: .custom(url: "https://api.example.com/v1/logs"))
objcBuilder.set(tracesEndpoint: .custom(url: "https://api.example.com/v1/logs"))
let swiftConfigurationCustom = objcBuilder.build().sdkConfiguration
Expand Down

0 comments on commit d132e2c

Please sign in to comment.