colyseus.js
Version:
Colyseus Multiplayer SDK for JavaScript/TypeScript
1 lines • 3.97 kB
Source Map (JSON)
{"version":3,"file":"HTTP.mjs","sources":["../../src/HTTP.ts"],"sourcesContent":["import { Client } from \"./Client\";\nimport { ServerError } from \"./errors/ServerError\";\nimport * as httpie from \"httpie\";\n\nexport class HTTP {\n public authToken: string;\n\n constructor(\n protected client: Client,\n public headers: { [id: string]: string } = {},\n ) {}\n\n public get<T = any>(path: string, options: Partial<httpie.Options> = {}): Promise<httpie.Response<T>> {\n return this.request(\"get\", path, options);\n }\n\n public post<T = any>(path: string, options: Partial<httpie.Options> = {}): Promise<httpie.Response<T>> {\n return this.request(\"post\", path, options);\n }\n\n public del<T = any>(path: string, options: Partial<httpie.Options> = {}): Promise<httpie.Response<T>> {\n return this.request(\"del\", path, options);\n }\n\n public put<T = any>(path: string, options: Partial<httpie.Options> = {}): Promise<httpie.Response<T>> {\n return this.request(\"put\", path, options);\n }\n\n protected request(method: \"get\" | \"post\" | \"put\" | \"del\", path: string, options: Partial<httpie.Options> = {}): Promise<httpie.Response> {\n return httpie[method](this.client['getHttpEndpoint'](path), this.getOptions(options)).catch((e: any) => {\n const status = e.statusCode; // || -1\n const message = e.data?.error || e.statusMessage || e.message; // || \"offline\"\n\n if (!status && !message) {\n throw e;\n }\n\n throw new ServerError(status, message);\n });\n }\n\n protected getOptions(options: Partial<httpie.Options>) {\n // merge default custom headers with user headers\n options.headers = Object.assign({}, this.headers, options.headers);\n\n if (this.authToken) {\n options.headers['Authorization'] = `Bearer ${this.authToken}`;\n }\n\n if (typeof (cc) !== 'undefined' && cc.sys && cc.sys.isNative) {\n //\n // Workaround for Cocos Creator on Native platform\n // \"Cannot set property withCredentials of #<XMLHttpRequest> which has only a getter\"\n //\n } else {\n // always include credentials\n options.withCredentials = true;\n }\n\n return options;\n }\n}\n"],"names":[],"mappings":";;;;MAIa,IAAI,CAAA;AAIC,IAAA,MAAA;AACH,IAAA,OAAA;AAJJ,IAAA,SAAS;IAEhB,WACc,CAAA,MAAc,EACjB,OAAA,GAAoC,EAAE,EAAA;QADnC,IAAM,CAAA,MAAA,GAAN,MAAM;QACT,IAAO,CAAA,OAAA,GAAP,OAAO;;AAGX,IAAA,GAAG,CAAU,IAAY,EAAE,OAAA,GAAmC,EAAE,EAAA;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;;AAGtC,IAAA,IAAI,CAAU,IAAY,EAAE,OAAA,GAAmC,EAAE,EAAA;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;;AAGvC,IAAA,GAAG,CAAU,IAAY,EAAE,OAAA,GAAmC,EAAE,EAAA;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;;AAGtC,IAAA,GAAG,CAAU,IAAY,EAAE,OAAA,GAAmC,EAAE,EAAA;QACnE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;;AAGnC,IAAA,OAAO,CAAC,MAAsC,EAAE,IAAY,EAAE,UAAmC,EAAE,EAAA;AACzG,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,KAAI;AACnG,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC;AAC5B,YAAA,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,OAAO,CAAC;AAE9D,YAAA,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;AACrB,gBAAA,MAAM,CAAC;;AAGX,YAAA,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1C,SAAC,CAAC;;AAGI,IAAA,UAAU,CAAC,OAAgC,EAAA;;AAEjD,QAAA,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;AAElE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,SAAS,CAAA,CAAE;;AAGjE,QAAA,IAAI,QAAQ,EAAE,CAAC,KAAK,WAAW,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;aAKvD;;AAEH,YAAA,OAAO,CAAC,eAAe,GAAG,IAAI;;AAGlC,QAAA,OAAO,OAAO;;AAErB;;;;"}