Conversation
Signed-off-by: Michael Rebello <me@michaelrebello.com>
buildbreaker
previously approved these changes
Aug 20, 2019
rebello95
added a commit
that referenced
this pull request
Aug 20, 2019
This PR ties together the upstream Objective-C/++ implementation with the Swift interfaces/bridging implementation. After this change, end-to-end calls from the native Swift library into the Envoy core should be supported. - Implements the streaming and unary request methods - Adds a simple `EnvoyStreamEmitter` which sends requests from Swift down into Objective-C - Updates the header conversion functions and their tests to convert to the proper types (`[String: [String]]` versus `[String: String]`) - Implements `ResponseHandler` as a class which provides a pass-through for setting Objective-C blocks directly from Swift for handling responses - Adds a parser for status codes, as well as tests #349 will use this interface with the Swift demo apps. Signed-off-by: Michael Rebello <me@michaelrebello.com>
Signed-off-by: Michael Rebello <me@michaelrebello.com>
Signed-off-by: Michael Rebello <me@michaelrebello.com>
Signed-off-by: Michael Rebello <me@michaelrebello.com>
rebello95
added a commit
that referenced
this pull request
Aug 23, 2019
Updates our Swift example app to use the Envoy Mobile direct interfaces rather than using `URLSession` and Envoy as a listener. Similar change to #349 which updated the Swift example app. Notes: - Changed all Objective-C demo app sources to `.m`, as they don't contain C/++ and thus don't need to be `.mm` - Had to make some unfortunate changes to `Client.swift` and move the extension function to be implemented directly by the `Envoy` class, since extensions aren't allowed on Swift protocols that are visible to Objective-C. This temporarily breaks the `ClientTests.swift` file (not being run on CI), and I will open a PR after this lands to refactor/fix as necessary Signed-off-by: Michael Rebello <me@michaelrebello.com>
jpsim
pushed a commit
to envoyproxy/envoy
that referenced
this pull request
Nov 28, 2022
This PR ties together the upstream Objective-C/++ implementation with the Swift interfaces/bridging implementation. After this change, end-to-end calls from the native Swift library into the Envoy core should be supported. - Implements the streaming and unary request methods - Adds a simple `EnvoyStreamEmitter` which sends requests from Swift down into Objective-C - Updates the header conversion functions and their tests to convert to the proper types (`[String: [String]]` versus `[String: String]`) - Implements `ResponseHandler` as a class which provides a pass-through for setting Objective-C blocks directly from Swift for handling responses - Adds a parser for status codes, as well as tests envoyproxy/envoy-mobile#349 will use this interface with the Swift demo apps. Signed-off-by: Michael Rebello <me@michaelrebello.com> Signed-off-by: JP Simard <jp@jpsim.com>
jpsim
pushed a commit
to envoyproxy/envoy
that referenced
this pull request
Nov 28, 2022
Updates our Swift example app to use the Envoy Mobile direct interfaces rather than using `URLSession` and Envoy as a listener. Similar change to envoyproxy/envoy-mobile#349 which updated the Swift example app. Notes: - Changed all Objective-C demo app sources to `.m`, as they don't contain C/++ and thus don't need to be `.mm` - Had to make some unfortunate changes to `Client.swift` and move the extension function to be implemented directly by the `Envoy` class, since extensions aren't allowed on Swift protocols that are visible to Objective-C. This temporarily breaks the `ClientTests.swift` file (not being run on CI), and I will open a PR after this lands to refactor/fix as necessary Signed-off-by: Michael Rebello <me@michaelrebello.com> Signed-off-by: JP Simard <jp@jpsim.com>
jpsim
pushed a commit
to envoyproxy/envoy
that referenced
this pull request
Nov 29, 2022
This PR ties together the upstream Objective-C/++ implementation with the Swift interfaces/bridging implementation. After this change, end-to-end calls from the native Swift library into the Envoy core should be supported. - Implements the streaming and unary request methods - Adds a simple `EnvoyStreamEmitter` which sends requests from Swift down into Objective-C - Updates the header conversion functions and their tests to convert to the proper types (`[String: [String]]` versus `[String: String]`) - Implements `ResponseHandler` as a class which provides a pass-through for setting Objective-C blocks directly from Swift for handling responses - Adds a parser for status codes, as well as tests envoyproxy/envoy-mobile#349 will use this interface with the Swift demo apps. Signed-off-by: Michael Rebello <me@michaelrebello.com> Signed-off-by: JP Simard <jp@jpsim.com>
jpsim
pushed a commit
to envoyproxy/envoy
that referenced
this pull request
Nov 29, 2022
Updates our Swift example app to use the Envoy Mobile direct interfaces rather than using `URLSession` and Envoy as a listener. Similar change to envoyproxy/envoy-mobile#349 which updated the Swift example app. Notes: - Changed all Objective-C demo app sources to `.m`, as they don't contain C/++ and thus don't need to be `.mm` - Had to make some unfortunate changes to `Client.swift` and move the extension function to be implemented directly by the `Envoy` class, since extensions aren't allowed on Swift protocols that are visible to Objective-C. This temporarily breaks the `ClientTests.swift` file (not being run on CI), and I will open a PR after this lands to refactor/fix as necessary Signed-off-by: Michael Rebello <me@michaelrebello.com> Signed-off-by: JP Simard <jp@jpsim.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a working end-to-end iOS implementation using Envoy Mobile as a library!
Depends on #312 and #353.
Updates our Swift example app to use the Envoy Mobile direct interfaces rather than using
URLSessionand Envoy as a listener.Note: For now, we are no longer showing the text response of the response body due to the fact that the underlying implementation is not yet complete for bodied requests (headers-only).
Signed-off-by: Michael Rebello me@michaelrebello.com