-
Notifications
You must be signed in to change notification settings - Fork 2k
/
Copy pathbrowser.js
64 lines (52 loc) · 1.49 KB
/
browser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/** @format */
/**
* External dependencies
*/
import debugFactory from 'debug';
/**
* Internal dependencies
*/
import wpcomUndocumented from 'lib/wpcom-undocumented';
import config from 'config';
import wpcomSupport from 'lib/wp/support';
import { injectLocalization } from './localization';
import { injectGuestSandboxTicketHandler } from './handlers/guest-sandbox-ticket';
import * as oauthToken from 'lib/oauth-token';
import wpcomXhrWrapper from 'lib/wpcom-xhr-wrapper';
import wpcomProxyRequest from 'wpcom-proxy-request';
const debug = debugFactory( 'calypso:wp' );
let wpcom;
if ( config.isEnabled( 'oauth' ) ) {
wpcom = wpcomUndocumented( oauthToken.getToken(), wpcomXhrWrapper );
} else {
wpcom = wpcomUndocumented( wpcomProxyRequest );
// Upgrade to "access all users blogs" mode
wpcom.request(
{
metaAPI: { accessAllUsersBlogs: true },
},
function( error ) {
if ( error ) {
throw error;
}
debug( 'Proxy now running in "access all user\'s blogs" mode' );
}
);
}
if ( config.isEnabled( 'support-user' ) ) {
wpcom = wpcomSupport( wpcom );
}
if ( 'development' === process.env.NODE_ENV ) {
require( './offline-library' ).makeOffline( wpcom );
// expose wpcom global var only in development
const wpcomPKG = require( 'wpcom/package' );
window.wpcom = wpcom;
window.wpcom.__version = wpcomPKG.version;
}
// Inject localization helpers to `wpcom` instance
injectLocalization( wpcom );
injectGuestSandboxTicketHandler( wpcom );
/**
* Expose `wpcom`
*/
export default wpcom;