Skip to content

Commit 3d22a7b

Browse files
committed
factory test
1 parent 5f69499 commit 3d22a7b

8 files changed

+540
-5
lines changed

lib/odp/event_manager/odp_event_manager.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,7 @@ export class DefaultOdpEventManager extends BaseService implements OdpEventManag
204204

205205
if (this.queue.length === this.batchSize) {
206206
this.flush();
207-
} else if (!this.repeater.isRunning() && this.batchSize > 1) {
208-
// no need to repeatedly flush if batchSize is 1
207+
} else if (!this.repeater.isRunning()) {
209208
this.repeater.start();
210209
}
211210
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { BrowserRequestHandler } from '../utils/http_request_handler/browser_request_handler';
2+
import { pixelApiRequestGenerator } from './event_manager/odp_event_api_manager';
3+
import { OdpManager } from './odp_manager';
4+
import { getOdpManager, OdpManagerOptions } from './odp_manager_factory';
5+
6+
export const BROWSER_DEFAULT_API_TIMEOUT = 10_000;
7+
8+
export const createOdpManager = (options: OdpManagerOptions): OdpManager => {
9+
let defaultRequestHandler = new BrowserRequestHandler({ timeout: BROWSER_DEFAULT_API_TIMEOUT });
10+
11+
const segmentRequestHandler = options.segmentsApiTimeout !== undefined ?
12+
new BrowserRequestHandler({ timeout: options.segmentsApiTimeout }) :
13+
defaultRequestHandler;
14+
15+
const eventRequestHandler = options.eventApiTimeout !== undefined ?
16+
new BrowserRequestHandler({ timeout: options.eventApiTimeout }) :
17+
defaultRequestHandler;
18+
19+
return getOdpManager({
20+
...options,
21+
eventBatchSize: 1,
22+
segmentRequestHandler,
23+
eventRequestHandler,
24+
eventRequestGenerator: pixelApiRequestGenerator,
25+
});
26+
};

lib/odp/odp_manager_factory.node.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { NodeRequestHandler } from '../utils/http_request_handler/node_request_handler';
2+
import { eventApiRequestGenerator } from './event_manager/odp_event_api_manager';
3+
import { OdpManager } from './odp_manager';
4+
import { getOdpManager, OdpManagerOptions } from './odp_manager_factory';
5+
6+
export const NODE_DEFAULT_API_TIMEOUT = 10_000;
7+
export const NODE_DEFAULT_BATCH_SIZE = 10;
8+
export const NODE_DEFAULT_FLUSH_INTERVAL = 1000;
9+
10+
export const createOdpManager = (options: OdpManagerOptions): OdpManager => {
11+
let defaultRequestHandler = new NodeRequestHandler({ timeout: NODE_DEFAULT_API_TIMEOUT });
12+
13+
const segmentRequestHandler = options.segmentsApiTimeout !== undefined ?
14+
new NodeRequestHandler({ timeout: options.segmentsApiTimeout }) :
15+
defaultRequestHandler;
16+
17+
const eventRequestHandler = options.eventApiTimeout !== undefined ?
18+
new NodeRequestHandler({ timeout: options.eventApiTimeout }) :
19+
defaultRequestHandler;
20+
21+
return getOdpManager({
22+
...options,
23+
segmentRequestHandler,
24+
eventRequestHandler,
25+
eventBatchSize: options.eventBatchSize || NODE_DEFAULT_BATCH_SIZE,
26+
eventFlushInterval: options.eventFlushInterval || NODE_DEFAULT_FLUSH_INTERVAL,
27+
eventRequestGenerator: eventApiRequestGenerator,
28+
});
29+
};
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { BrowserRequestHandler } from '../utils/http_request_handler/browser_request_handler';
2+
import { eventApiRequestGenerator } from './event_manager/odp_event_api_manager';
3+
import { OdpManager } from './odp_manager';
4+
import { getOdpManager, OdpManagerOptions } from './odp_manager_factory';
5+
6+
export const RN_DEFAULT_API_TIMEOUT = 10_000;
7+
export const RN_DEFAULT_BATCH_SIZE = 10;
8+
export const RN_DEFAULT_FLUSH_INTERVAL = 1000;
9+
10+
export const createOdpManager = (options: OdpManagerOptions): OdpManager => {
11+
let defaultRequestHandler = new BrowserRequestHandler({ timeout: RN_DEFAULT_API_TIMEOUT });
12+
13+
const segmentRequestHandler = options.segmentsApiTimeout !== undefined ?
14+
new BrowserRequestHandler({ timeout: options.segmentsApiTimeout }) :
15+
defaultRequestHandler;
16+
17+
const eventRequestHandler = options.eventApiTimeout !== undefined ?
18+
new BrowserRequestHandler({ timeout: options.eventApiTimeout }) :
19+
defaultRequestHandler;
20+
21+
return getOdpManager({
22+
...options,
23+
segmentRequestHandler,
24+
eventRequestHandler,
25+
eventBatchSize: options.eventBatchSize || RN_DEFAULT_BATCH_SIZE,
26+
eventFlushInterval: options.eventFlushInterval || RN_DEFAULT_FLUSH_INTERVAL,
27+
eventRequestGenerator: eventApiRequestGenerator,
28+
});
29+
};

0 commit comments

Comments
 (0)