feat: Create Client Proxy Option#570
Merged
oscb merged 4 commits intosegmentio:masterfrom Jun 14, 2022
Merged
Conversation
…tion Declare "proxy" in client options table
Declare "proxy" in Config interface and reference in sendEvents.ts
Transition from object to string data type since it should just be an override for 'https://api.segment.io/v1/b' batch url
Assert that "proxy" overrides default 'https://api.segment.io/v1/b' batch url when provided in client options
oscb
approved these changes
Jun 14, 2022
Contributor
oscb
left a comment
There was a problem hiding this comment.
This is great!
We had this in our sights but hadn't found the time to take care of it, thanks for the help!
Contributor
Author
|
@oscb No worries bud! Really appreciate you taking the time to review, approve, and merge!! |
jezallan
pushed a commit
to uswitch/analytics-react-native
that referenced
this pull request
Jun 29, 2022
## @uswitch/analytics-react-native-v1.0.0 (2022-06-29)
### ⚠ BREAKING CHANGES
* We've improved iOS support for non-Cocoapods users. You do not need to follow these steps if you are using Cocoapods.
### Migration instructions
- Remove `Analytics.framework` from your Xcode project
- Remove `Analytics.framework` from `Embedded Binaries`
- Follow [Current instructions](#current-instructions)
### Current instructions
* **client:** We've dropped the chained configuration for an object one instead. This will make Analytics blend even better with tools like Prettier.
Before:
```js
analytics
.configure()
.using(Mixpanel, GoogleAnalytics)
.recordScreenViews()
.trackAppLifecycleEvents()
.trackAttributionData()
.android()
.flushInterval(60)
.disableDevicedId()
.ios()
.trackAdvertising()
.trackDeepLinks()
.setup("writeKey")
.then(() =>
console.log('Analytics is ready')
)
.catch(err =>
console.error('Something went wrong', err)
)
```
Now:
```js
analytics
.setup('writeKey', {
using: [Mixpanel, GoogleAnalytics],
recordScreenViews: true,
trackAppLifecycleEvents: true,
trackAttributionData: true,
android: {
flushInterval: 60,
collectDeviceId: false
},
ios: {
trackAdvertising: true,
trackDeepLinks: true
}
})
.then(() =>
console.log('Analytics is ready')
)
.catch(err =>
console.error('Something went wrong', err)
)
```
### Features
* Add AdvertisingId Plugin ([segmentio#574](https://github.com/uswitch/analytics-react-native/issues/574)) ([9f47e67](9f47e67))
* add analytics 2.0 ([segmentio#360](https://github.com/uswitch/analytics-react-native/issues/360)) ([829fc80](829fc80))
* add anonymousId logic to reset ([segmentio#475](https://github.com/uswitch/analytics-react-native/issues/475)) ([23baab4](23baab4))
* add deeplink referral application data ([segmentio#454](https://github.com/uswitch/analytics-react-native/issues/454)) ([dbfc267](dbfc267))
* add reset to plugins ([segmentio#490](https://github.com/uswitch/analytics-react-native/issues/490)) ([686f73f](686f73f))
* added destination metadata and internal timeline processing for destinatio plugins ([segmentio#477](https://github.com/uswitch/analytics-react-native/issues/477)) ([8b1df55](8b1df55))
* **android:** allow opt-out for new lifecycle methods ([segmentio#256](https://github.com/uswitch/analytics-react-native/issues/256)) ([8dbadad](8dbadad))
* **android:** allow passing integration options ([segmentio#184](https://github.com/uswitch/analytics-react-native/issues/184)) ([6845c67](6845c67))
* **anonymousid:** add a method to retrieve the anonymousId ([988f382](988f382))
* **client:** use object-based configuration ([segmentio#7](https://github.com/uswitch/analytics-react-native/issues/7)) ([6a281f4](6a281f4))
* **core:** add middlewares ([9aeafa3](9aeafa3))
* **core:** add native configuration method ([19c4fae](19c4fae))
* **core:** export TypeScript public interfaces ([9978cd7](9978cd7))
* **core:** http proxying via setup configuration ([segmentio#202](https://github.com/uswitch/analytics-react-native/issues/202)) ([40a3f5a](40a3f5a))
* Create Client Proxy Option ([segmentio#570](https://github.com/uswitch/analytics-react-native/issues/570)) ([eaeb940](eaeb940))
* createClient "storePersistor" option ([segmentio#549](https://github.com/uswitch/analytics-react-native/issues/549)) ([4b70e99](4b70e99))
* **integrations:** allow setting integration options ([13b663e](13b663e))
* **ios:** make idfa for ios external to analytics ([segmentio#210](https://github.com/uswitch/analytics-react-native/issues/210)) ([35f96a0](35f96a0))
* **ios:** set trackAdvertising=true by default on ios ([segmentio#82](https://github.com/uswitch/analytics-react-native/issues/82)) ([09e997b](09e997b))
* new onContextLoad events and awaitable context updates ([segmentio#532](https://github.com/uswitch/analytics-react-native/issues/532)) ([4508ad4](4508ad4)), closes [segmentio#524](https://github.com/uswitch/analytics-react-native/issues/524) [segmentio#527](https://github.com/uswitch/analytics-react-native/issues/527)
* plugins can now disable integrations by marking them as false in the event.integrations ([segmentio#496](https://github.com/uswitch/analytics-react-native/issues/496)) ([65c2371](65c2371))
* replacing redux with sovran ([segmentio#422](https://github.com/uswitch/analytics-react-native/issues/422)) ([2d69cc1](2d69cc1))
### Bug Fixes
* add fix for deviceId on android builds ([segmentio#405](https://github.com/uswitch/analytics-react-native/issues/405)) ([92c1fc0](92c1fc0))
* add override fix to ios modules ([segmentio#404](https://github.com/uswitch/analytics-react-native/issues/404)) ([8e47eb6](8e47eb6))
* **android:** bump android dependency ([segmentio#214](https://github.com/uswitch/analytics-react-native/issues/214)) ([acd0f2f](acd0f2f))
* **android:** bump deps and fix config issues ([segmentio#298](https://github.com/uswitch/analytics-react-native/issues/298)) ([5a2ed9b](5a2ed9b))
* **android:** defaultKotlinVersion ([segmentio#159](https://github.com/uswitch/analytics-react-native/issues/159)) ([54e90a3](54e90a3))
* **android:** fix crash when promise resolves in debug mode ([segmentio#267](https://github.com/uswitch/analytics-react-native/issues/267)) ([a0e21d9](a0e21d9))
* **android:** fixed context not passing thru ([segmentio#147](https://github.com/uswitch/analytics-react-native/issues/147)) ([cb1b412](cb1b412))
* **android:** parse android specific options correctly ([segmentio#187](https://github.com/uswitch/analytics-react-native/issues/187)) ([49e4815](49e4815))
* **android:** pull android tool versions from root project ([segmentio#12](https://github.com/uswitch/analytics-react-native/issues/12)) ([3f1eb3c](3f1eb3c)), closes [/github.com/frostney/react-native-create-library/blob/master/templates/android.js#L28](https://github.com/uswitch//github.com/frostney/react-native-create-library/blob/master/templates/android.js/issues/L28)
* appsflyer attribution ([segmentio#547](https://github.com/uswitch/analytics-react-native/issues/547)) ([494df24](494df24))
* **bridge:** fix duplicated analytics client improving errors ([segmentio#162](https://github.com/uswitch/analytics-react-native/issues/162)) ([28a981d](28a981d))
* **bridge:** fix p(r)omise typo ([segmentio#168](https://github.com/uswitch/analytics-react-native/issues/168)) ([d9794db](d9794db))
* **bridge:** improve missing native module error ([segmentio#5](https://github.com/uswitch/analytics-react-native/issues/5)) ([0a03617](0a03617))
* change React dependency to React-Core ([segmentio#254](https://github.com/uswitch/analytics-react-native/issues/254)) ([c51e689](c51e689))
* **client:** copy package with version ([2c223dd](2c223dd))
* **config:** pass user-supplied context for analytics calls ([segmentio#188](https://github.com/uswitch/analytics-react-native/issues/188)) ([7429567](7429567))
* **context:** fix `context` `name` and `version` ([09f0b28](09f0b28))
* **core:** fix duplicate client error in dev mode ([segmentio#51](https://github.com/uswitch/analytics-react-native/issues/51)) ([cb66749](cb66749)), closes [segmentio#16](https://github.com/uswitch/analytics-react-native/issues/16) [segmentio#15](https://github.com/uswitch/analytics-react-native/issues/15)
* **core:** fix TypeScript typings ([fe7933c](fe7933c)), closes [segmentio#11](https://github.com/uswitch/analytics-react-native/issues/11)
* **core:** React-Native 0.59 Support ([segmentio#50](https://github.com/uswitch/analytics-react-native/issues/50)) ([a78c94e](a78c94e)), closes [segmentio#46](https://github.com/uswitch/analytics-react-native/issues/46) [segmentio#44](https://github.com/uswitch/analytics-react-native/issues/44)
* custom event integrations override support, refactor integration merge logic ([segmentio#379](https://github.com/uswitch/analytics-react-native/issues/379)) ([d0b8fbf](d0b8fbf))
* deepmerge device context on update ([segmentio#543](https://github.com/uswitch/analytics-react-native/issues/543)) ([5878043](5878043))
* don't call stringValue of strings ([segmentio#253](https://github.com/uswitch/analytics-react-native/issues/253)) ([226a9e4](226a9e4))
* fix bundle unbundled logic ([segmentio#521](https://github.com/uswitch/analytics-react-native/issues/521)) ([9e080b1](9e080b1))
* fixes missing context in first launch event after install ([segmentio#451](https://github.com/uswitch/analytics-react-native/issues/451)) ([efb2805](efb2805))
* fixing scheduling of flush intervals ([segmentio#457](https://github.com/uswitch/analytics-react-native/issues/457)) ([1b86cfc](1b86cfc))
* format integration settings correctly in the event integrations ([9e7d62d](9e7d62d))
* generating a UUID for anonymousID initial value, refactor userId replacement ([segmentio#440](https://github.com/uswitch/analytics-react-native/issues/440)) ([ef297ee](ef297ee))
* **ios:** bump ios dependency ([segmentio#217](https://github.com/uswitch/analytics-react-native/issues/217)) ([4848bbd](4848bbd))
* **ios:** fix `trackAppLifecycleEvents` ([50c4b09](50c4b09))
* **ios:** fixes for building for newer rn ([segmentio#206](https://github.com/uswitch/analytics-react-native/issues/206)) ([ecce14c](ecce14c))
* match identify and reset client methods arguments, add token to context ([segmentio#533](https://github.com/uswitch/analytics-react-native/issues/533)) ([f865d48](f865d48))
* merge context to preserve plugin injected properties ([segmentio#487](https://github.com/uswitch/analytics-react-native/issues/487)) ([9586a7a](9586a7a))
* **package:** missing repo info ([segmentio#268](https://github.com/uswitch/analytics-react-native/issues/268)) ([6a2a93b](6a2a93b))
* persist user traits across events ([segmentio#581](https://github.com/uswitch/analytics-react-native/issues/581)) ([d48ac83](d48ac83))
* prevent events mutating state on empty removes ([133b821](133b821))
* re-add logic for tracking lifecycle events ([segmentio#328](https://github.com/uswitch/analytics-react-native/issues/328)) ([92194f3](92194f3))
* refactor getDeviceID to use DRM, remove AndroidID ([segmentio#567](https://github.com/uswitch/analytics-react-native/issues/567)) ([f2616aa](f2616aa))
* refactoring redux event subscriptions and locking upload ([segmentio#376](https://github.com/uswitch/analytics-react-native/issues/376)) ([a302215](a302215))
* remove console.warning when sending events ([segmentio#413](https://github.com/uswitch/analytics-react-native/issues/413)) ([954ece1](954ece1))
* remove import cycle in DestinationMetadataEnrichment ([segmentio#505](https://github.com/uswitch/analytics-react-native/issues/505)) ([9d51d3f](9d51d3f))
* reset anonymousId for users who have persisted incorrect value ([segmentio#445](https://github.com/uswitch/analytics-react-native/issues/445)) ([37aeb81](37aeb81))
* setting minSDK to > 21 for Android and updating to sovran 0.2.2 ([segmentio#430](https://github.com/uswitch/analytics-react-native/issues/430)) ([4c6e977](4c6e977))
* upgrade sovran to v0.2.3, move RN to peerDeps ([segmentio#437](https://github.com/uswitch/analytics-react-native/issues/437)) ([b76739a](b76739a))
* Improve iOS support for users without Cocoapods (segmentio#27) ([e90a58c](e90a58c)), closes [segmentio#27](https://github.com/uswitch/analytics-react-native/issues/27) [segmentio/analytics-ios#3](segmentio/analytics-ios#3)
jezallan
pushed a commit
to uswitch/analytics-react-native
that referenced
this pull request
Jun 29, 2022
## @uswitch/analytics-react-native-v1.0.0 (2022-06-29)
### ⚠ BREAKING CHANGES
* We've improved iOS support for non-Cocoapods users. You do not need to follow these steps if you are using Cocoapods.
### Migration instructions
- Remove `Analytics.framework` from your Xcode project
- Remove `Analytics.framework` from `Embedded Binaries`
- Follow [Current instructions](#current-instructions)
### Current instructions
* **client:** We've dropped the chained configuration for an object one instead. This will make Analytics blend even better with tools like Prettier.
Before:
```js
analytics
.configure()
.using(Mixpanel, GoogleAnalytics)
.recordScreenViews()
.trackAppLifecycleEvents()
.trackAttributionData()
.android()
.flushInterval(60)
.disableDevicedId()
.ios()
.trackAdvertising()
.trackDeepLinks()
.setup("writeKey")
.then(() =>
console.log('Analytics is ready')
)
.catch(err =>
console.error('Something went wrong', err)
)
```
Now:
```js
analytics
.setup('writeKey', {
using: [Mixpanel, GoogleAnalytics],
recordScreenViews: true,
trackAppLifecycleEvents: true,
trackAttributionData: true,
android: {
flushInterval: 60,
collectDeviceId: false
},
ios: {
trackAdvertising: true,
trackDeepLinks: true
}
})
.then(() =>
console.log('Analytics is ready')
)
.catch(err =>
console.error('Something went wrong', err)
)
```
### Features
* Add AdvertisingId Plugin ([segmentio#574](https://github.com/uswitch/analytics-react-native/issues/574)) ([9f47e67](9f47e67))
* add analytics 2.0 ([segmentio#360](https://github.com/uswitch/analytics-react-native/issues/360)) ([829fc80](829fc80))
* add anonymousId logic to reset ([segmentio#475](https://github.com/uswitch/analytics-react-native/issues/475)) ([23baab4](23baab4))
* add deeplink referral application data ([segmentio#454](https://github.com/uswitch/analytics-react-native/issues/454)) ([dbfc267](dbfc267))
* add reset to plugins ([segmentio#490](https://github.com/uswitch/analytics-react-native/issues/490)) ([686f73f](686f73f))
* added destination metadata and internal timeline processing for destinatio plugins ([segmentio#477](https://github.com/uswitch/analytics-react-native/issues/477)) ([8b1df55](8b1df55))
* **android:** allow opt-out for new lifecycle methods ([segmentio#256](https://github.com/uswitch/analytics-react-native/issues/256)) ([8dbadad](8dbadad))
* **android:** allow passing integration options ([segmentio#184](https://github.com/uswitch/analytics-react-native/issues/184)) ([6845c67](6845c67))
* **anonymousid:** add a method to retrieve the anonymousId ([988f382](988f382))
* **client:** use object-based configuration ([segmentio#7](https://github.com/uswitch/analytics-react-native/issues/7)) ([6a281f4](6a281f4))
* **core:** add middlewares ([9aeafa3](9aeafa3))
* **core:** add native configuration method ([19c4fae](19c4fae))
* **core:** export TypeScript public interfaces ([9978cd7](9978cd7))
* **core:** http proxying via setup configuration ([segmentio#202](https://github.com/uswitch/analytics-react-native/issues/202)) ([40a3f5a](40a3f5a))
* Create Client Proxy Option ([segmentio#570](https://github.com/uswitch/analytics-react-native/issues/570)) ([eaeb940](eaeb940))
* createClient "storePersistor" option ([segmentio#549](https://github.com/uswitch/analytics-react-native/issues/549)) ([4b70e99](4b70e99))
* **integrations:** allow setting integration options ([13b663e](13b663e))
* **ios:** make idfa for ios external to analytics ([segmentio#210](https://github.com/uswitch/analytics-react-native/issues/210)) ([35f96a0](35f96a0))
* **ios:** set trackAdvertising=true by default on ios ([segmentio#82](https://github.com/uswitch/analytics-react-native/issues/82)) ([09e997b](09e997b))
* new onContextLoad events and awaitable context updates ([segmentio#532](https://github.com/uswitch/analytics-react-native/issues/532)) ([4508ad4](4508ad4)), closes [segmentio#524](https://github.com/uswitch/analytics-react-native/issues/524) [segmentio#527](https://github.com/uswitch/analytics-react-native/issues/527)
* plugins can now disable integrations by marking them as false in the event.integrations ([segmentio#496](https://github.com/uswitch/analytics-react-native/issues/496)) ([65c2371](65c2371))
* replacing redux with sovran ([segmentio#422](https://github.com/uswitch/analytics-react-native/issues/422)) ([2d69cc1](2d69cc1))
### Bug Fixes
* add fix for deviceId on android builds ([segmentio#405](https://github.com/uswitch/analytics-react-native/issues/405)) ([92c1fc0](92c1fc0))
* add override fix to ios modules ([segmentio#404](https://github.com/uswitch/analytics-react-native/issues/404)) ([8e47eb6](8e47eb6))
* **android:** bump android dependency ([segmentio#214](https://github.com/uswitch/analytics-react-native/issues/214)) ([acd0f2f](acd0f2f))
* **android:** bump deps and fix config issues ([segmentio#298](https://github.com/uswitch/analytics-react-native/issues/298)) ([5a2ed9b](5a2ed9b))
* **android:** defaultKotlinVersion ([segmentio#159](https://github.com/uswitch/analytics-react-native/issues/159)) ([54e90a3](54e90a3))
* **android:** fix crash when promise resolves in debug mode ([segmentio#267](https://github.com/uswitch/analytics-react-native/issues/267)) ([a0e21d9](a0e21d9))
* **android:** fixed context not passing thru ([segmentio#147](https://github.com/uswitch/analytics-react-native/issues/147)) ([cb1b412](cb1b412))
* **android:** parse android specific options correctly ([segmentio#187](https://github.com/uswitch/analytics-react-native/issues/187)) ([49e4815](49e4815))
* **android:** pull android tool versions from root project ([segmentio#12](https://github.com/uswitch/analytics-react-native/issues/12)) ([3f1eb3c](3f1eb3c)), closes [/github.com/frostney/react-native-create-library/blob/master/templates/android.js#L28](https://github.com/uswitch//github.com/frostney/react-native-create-library/blob/master/templates/android.js/issues/L28)
* appsflyer attribution ([segmentio#547](https://github.com/uswitch/analytics-react-native/issues/547)) ([494df24](494df24))
* **bridge:** fix duplicated analytics client improving errors ([segmentio#162](https://github.com/uswitch/analytics-react-native/issues/162)) ([28a981d](28a981d))
* **bridge:** fix p(r)omise typo ([segmentio#168](https://github.com/uswitch/analytics-react-native/issues/168)) ([d9794db](d9794db))
* **bridge:** improve missing native module error ([segmentio#5](https://github.com/uswitch/analytics-react-native/issues/5)) ([0a03617](0a03617))
* change React dependency to React-Core ([segmentio#254](https://github.com/uswitch/analytics-react-native/issues/254)) ([c51e689](c51e689))
* **client:** copy package with version ([2c223dd](2c223dd))
* **config:** pass user-supplied context for analytics calls ([segmentio#188](https://github.com/uswitch/analytics-react-native/issues/188)) ([7429567](7429567))
* **context:** fix `context` `name` and `version` ([09f0b28](09f0b28))
* **core:** fix duplicate client error in dev mode ([segmentio#51](https://github.com/uswitch/analytics-react-native/issues/51)) ([cb66749](cb66749)), closes [segmentio#16](https://github.com/uswitch/analytics-react-native/issues/16) [segmentio#15](https://github.com/uswitch/analytics-react-native/issues/15)
* **core:** fix TypeScript typings ([fe7933c](fe7933c)), closes [segmentio#11](https://github.com/uswitch/analytics-react-native/issues/11)
* **core:** React-Native 0.59 Support ([segmentio#50](https://github.com/uswitch/analytics-react-native/issues/50)) ([a78c94e](a78c94e)), closes [segmentio#46](https://github.com/uswitch/analytics-react-native/issues/46) [segmentio#44](https://github.com/uswitch/analytics-react-native/issues/44)
* custom event integrations override support, refactor integration merge logic ([segmentio#379](https://github.com/uswitch/analytics-react-native/issues/379)) ([d0b8fbf](d0b8fbf))
* deepmerge device context on update ([segmentio#543](https://github.com/uswitch/analytics-react-native/issues/543)) ([5878043](5878043))
* don't call stringValue of strings ([segmentio#253](https://github.com/uswitch/analytics-react-native/issues/253)) ([226a9e4](226a9e4))
* fix bundle unbundled logic ([segmentio#521](https://github.com/uswitch/analytics-react-native/issues/521)) ([9e080b1](9e080b1))
* fixes missing context in first launch event after install ([segmentio#451](https://github.com/uswitch/analytics-react-native/issues/451)) ([efb2805](efb2805))
* fixing scheduling of flush intervals ([segmentio#457](https://github.com/uswitch/analytics-react-native/issues/457)) ([1b86cfc](1b86cfc))
* format integration settings correctly in the event integrations ([9e7d62d](9e7d62d))
* generating a UUID for anonymousID initial value, refactor userId replacement ([segmentio#440](https://github.com/uswitch/analytics-react-native/issues/440)) ([ef297ee](ef297ee))
* **ios:** bump ios dependency ([segmentio#217](https://github.com/uswitch/analytics-react-native/issues/217)) ([4848bbd](4848bbd))
* **ios:** fix `trackAppLifecycleEvents` ([50c4b09](50c4b09))
* **ios:** fixes for building for newer rn ([segmentio#206](https://github.com/uswitch/analytics-react-native/issues/206)) ([ecce14c](ecce14c))
* match identify and reset client methods arguments, add token to context ([segmentio#533](https://github.com/uswitch/analytics-react-native/issues/533)) ([f865d48](f865d48))
* merge context to preserve plugin injected properties ([segmentio#487](https://github.com/uswitch/analytics-react-native/issues/487)) ([9586a7a](9586a7a))
* **package:** missing repo info ([segmentio#268](https://github.com/uswitch/analytics-react-native/issues/268)) ([6a2a93b](6a2a93b))
* persist user traits across events ([segmentio#581](https://github.com/uswitch/analytics-react-native/issues/581)) ([d48ac83](d48ac83))
* prevent events mutating state on empty removes ([133b821](133b821))
* re-add logic for tracking lifecycle events ([segmentio#328](https://github.com/uswitch/analytics-react-native/issues/328)) ([92194f3](92194f3))
* refactor getDeviceID to use DRM, remove AndroidID ([segmentio#567](https://github.com/uswitch/analytics-react-native/issues/567)) ([f2616aa](f2616aa))
* refactoring redux event subscriptions and locking upload ([segmentio#376](https://github.com/uswitch/analytics-react-native/issues/376)) ([a302215](a302215))
* remove console.warning when sending events ([segmentio#413](https://github.com/uswitch/analytics-react-native/issues/413)) ([954ece1](954ece1))
* remove import cycle in DestinationMetadataEnrichment ([segmentio#505](https://github.com/uswitch/analytics-react-native/issues/505)) ([9d51d3f](9d51d3f))
* reset anonymousId for users who have persisted incorrect value ([segmentio#445](https://github.com/uswitch/analytics-react-native/issues/445)) ([37aeb81](37aeb81))
* setting minSDK to > 21 for Android and updating to sovran 0.2.2 ([segmentio#430](https://github.com/uswitch/analytics-react-native/issues/430)) ([4c6e977](4c6e977))
* upgrade sovran to v0.2.3, move RN to peerDeps ([segmentio#437](https://github.com/uswitch/analytics-react-native/issues/437)) ([b76739a](b76739a))
* Improve iOS support for users without Cocoapods (segmentio#27) ([e90a58c](e90a58c)), closes [segmentio#27](https://github.com/uswitch/analytics-react-native/issues/27) [segmentio/analytics-ios#3](segmentio/analytics-ios#3)
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.
Summary
The gist of this PR is that it allows for a
proxyclient option to be specified in thecreateClientfunction call. Previously in Analytics React Native 1.0, aproxyclient option was available in thesetupfunction call.Use Case
Gopuff's Customer Data Platform team wants to be able to empower other internal engineerings teams with the ability to inspect events and assert them for integrations tests in realtime. To do this we were hoping to be able to specify a
proxythat the events would be posted to first before we post them to Segment.analytics-nodeandanalytics-nextalready have the ability to specify proxies, so we were hoping we could make it possible foranalytics-react-native.Documentation
Updated README.md's section on Client Options. Hopefully that was sufficient. Please let me know if additional documentation is required.
Unit Tests
Updated
api.test.tsto include a test case that asserts that theproxyclient option overrides the Segment batch url.References