@xmobitea/gn-typescript-client 2.6.13-tsc → 2.6.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/AGENTS.md +37 -0
  2. package/README.MD +420 -1
  3. package/dist/gearn.js.client.js +71354 -0
  4. package/dist/gearn.js.client.min.js +2 -0
  5. package/dist/gearn.js.client.min.js.LICENSE.txt +14 -0
  6. package/dist/index.d.ts +30 -0
  7. package/dist/index.js +58386 -339
  8. package/dist/runtime/GNNetwork.d.ts +687 -3
  9. package/dist/runtime/GNNetworkAuthenticateApi.d.ts +327 -0
  10. package/dist/runtime/GNNetworkCharacterPlayerApi.d.ts +1026 -0
  11. package/dist/runtime/GNNetworkCloudScriptApi.d.ts +141 -0
  12. package/dist/runtime/GNNetworkContentApi.d.ts +243 -0
  13. package/dist/runtime/GNNetworkDashboardApi.d.ts +221 -0
  14. package/dist/runtime/GNNetworkGamePlayerApi.d.ts +1033 -0
  15. package/dist/runtime/GNNetworkGroupApi.d.ts +783 -0
  16. package/dist/runtime/GNNetworkInventoryApi.d.ts +673 -0
  17. package/dist/runtime/GNNetworkMasterPlayerApi.d.ts +1614 -6
  18. package/dist/runtime/GNNetworkMultiplayerApi.d.ts +234 -0
  19. package/dist/runtime/GNNetworkStoreInventoryApi.d.ts +309 -0
  20. package/dist/runtime/common/Action0.d.ts +30 -0
  21. package/dist/runtime/common/Action1.d.ts +32 -0
  22. package/dist/runtime/common/Action2.d.ts +21 -0
  23. package/dist/runtime/common/Action3.d.ts +16 -0
  24. package/dist/runtime/common/Action4.d.ts +17 -0
  25. package/dist/runtime/common/GNData.d.ts +368 -0
  26. package/dist/runtime/config/GNServerSettings.d.ts +442 -12
  27. package/dist/runtime/constant/Commands.d.ts +80 -0
  28. package/dist/runtime/constant/EventCode.d.ts +48 -0
  29. package/dist/runtime/constant/OperationCode.d.ts +74 -1
  30. package/dist/runtime/constant/ReturnCode.d.ts +72 -0
  31. package/dist/runtime/constant/enumType/ExecuteResponseStatus.d.ts +31 -0
  32. package/dist/runtime/constant/enumType/FriendStatus.d.ts +39 -0
  33. package/dist/runtime/constant/enumType/GoogleLoginType.d.ts +23 -0
  34. package/dist/runtime/constant/enumType/GroupStatus.d.ts +32 -0
  35. package/dist/runtime/constant/enumType/InvalidMemberType.d.ts +75 -0
  36. package/dist/runtime/constant/enumType/ItemType.d.ts +23 -0
  37. package/dist/runtime/constant/enumType/MatchStatus.d.ts +30 -0
  38. package/dist/runtime/constant/enumType/MatchmakingMemberStatus.d.ts +24 -0
  39. package/dist/runtime/constant/enumType/MatchmakingTicketStatus.d.ts +34 -0
  40. package/dist/runtime/constant/enumType/OwnerType.d.ts +40 -0
  41. package/dist/runtime/constant/enumType/PermissionDataItem.d.ts +22 -0
  42. package/dist/runtime/constant/enumType/PushPlatformType.d.ts +18 -0
  43. package/dist/runtime/constant/enumType/RequestRole.d.ts +32 -0
  44. package/dist/runtime/constant/enumType/RequestType.d.ts +70 -0
  45. package/dist/runtime/constant/enumType/StoreItemType.d.ts +21 -0
  46. package/dist/runtime/constant/enumType/StoreReceiveType.d.ts +30 -0
  47. package/dist/runtime/constant/errorCode/ErrorCode.d.ts +190 -8
  48. package/dist/runtime/constant/parameterCode/ParameterCode.d.ts +35 -5
  49. package/dist/runtime/entity/DataMember.d.ts +338 -0
  50. package/dist/runtime/entity/GNMetadata.d.ts +101 -0
  51. package/dist/runtime/entity/InvalidMember.d.ts +28 -0
  52. package/dist/runtime/entity/OperationEvent.d.ts +49 -0
  53. package/dist/runtime/entity/OperationRequest.d.ts +108 -0
  54. package/dist/runtime/entity/OperationResponse.d.ts +110 -0
  55. package/dist/runtime/entity/models/AuthenticateModels.d.ts +115 -0
  56. package/dist/runtime/entity/models/AuthenticateRequestModels.d.ts +131 -0
  57. package/dist/runtime/entity/models/AuthenticateResponseModels.d.ts +131 -0
  58. package/dist/runtime/entity/models/CharacterPlayerModels.d.ts +625 -1
  59. package/dist/runtime/entity/models/CharacterPlayerRequestModels.d.ts +972 -0
  60. package/dist/runtime/entity/models/CharacterPlayerResponseModels.d.ts +332 -0
  61. package/dist/runtime/entity/models/CloudScriptModels.d.ts +109 -0
  62. package/dist/runtime/entity/models/CloudScriptRequestModels.d.ts +107 -0
  63. package/dist/runtime/entity/models/CloudScriptResponseModels.d.ts +46 -0
  64. package/dist/runtime/entity/models/ContentModels.d.ts +124 -0
  65. package/dist/runtime/entity/models/ContentRequestModels.d.ts +152 -0
  66. package/dist/runtime/entity/models/ContentResponseModels.d.ts +58 -0
  67. package/dist/runtime/entity/models/DashboardModels.d.ts +371 -8
  68. package/dist/runtime/entity/models/DashboardRequestModels.d.ts +172 -0
  69. package/dist/runtime/entity/models/DashboardResponseModels.d.ts +170 -0
  70. package/dist/runtime/entity/models/GamePlayerModels.d.ts +644 -1
  71. package/dist/runtime/entity/models/GamePlayerRequestModels.d.ts +959 -0
  72. package/dist/runtime/entity/models/GamePlayerResponseModels.d.ts +333 -1
  73. package/dist/runtime/entity/models/GenericModels.d.ts +94 -0
  74. package/dist/runtime/entity/models/GroupModels.d.ts +484 -2
  75. package/dist/runtime/entity/models/GroupRequestModels.d.ts +737 -0
  76. package/dist/runtime/entity/models/GroupResponseModels.d.ts +254 -0
  77. package/dist/runtime/entity/models/InventoryModels.d.ts +415 -0
  78. package/dist/runtime/entity/models/InventoryRequestModels.d.ts +629 -0
  79. package/dist/runtime/entity/models/InventoryResponseModels.d.ts +218 -0
  80. package/dist/runtime/entity/models/MasterPlayerModels.d.ts +1065 -3
  81. package/dist/runtime/entity/models/MasterPlayerRequestModels.d.ts +1560 -6
  82. package/dist/runtime/entity/models/MasterPlayerResponseModels.d.ts +532 -1
  83. package/dist/runtime/entity/models/MultiplayerModels.d.ts +199 -0
  84. package/dist/runtime/entity/models/MultiplayerRequestModels.d.ts +196 -0
  85. package/dist/runtime/entity/models/MultiplayerResponseModels.d.ts +74 -0
  86. package/dist/runtime/entity/models/StoreInventoryModels.d.ts +262 -0
  87. package/dist/runtime/entity/models/StoreInventoryRequestModels.d.ts +268 -0
  88. package/dist/runtime/entity/models/StoreInventoryResponseModels.d.ts +98 -0
  89. package/dist/runtime/entity/request/CustomOperationRequest.d.ts +99 -0
  90. package/dist/runtime/entity/response/CustomOperationResponse.d.ts +118 -0
  91. package/dist/runtime/entity/response/GetAuthInfoResponse.d.ts +53 -0
  92. package/dist/runtime/entity/response/HealthCheckResponse.d.ts +56 -0
  93. package/dist/runtime/entity/response/UploadFileResponse.d.ts +19 -0
  94. package/dist/runtime/helper/CodeHelper.d.ts +122 -0
  95. package/dist/runtime/helper/ConverterService.d.ts +74 -0
  96. package/dist/runtime/helper/EnumUtility.d.ts +63 -0
  97. package/dist/runtime/helper/GNSupport.d.ts +64 -4
  98. package/dist/runtime/helper/GNUtils.d.ts +54 -0
  99. package/dist/runtime/helper/MessagePackConverterService.d.ts +48 -0
  100. package/dist/runtime/helper/OperationHelper.d.ts +51 -0
  101. package/dist/runtime/helper/StorageService.d.ts +48 -8
  102. package/dist/runtime/logger/GNDebug.d.ts +117 -0
  103. package/dist/runtime/networking/AuthenticateStatus.d.ts +64 -0
  104. package/dist/runtime/networking/IPeer.d.ts +83 -0
  105. package/dist/runtime/networking/NetworkingPeer.d.ts +256 -1
  106. package/dist/runtime/networking/OperationPending.d.ts +112 -0
  107. package/dist/runtime/networking/PeerBase.d.ts +231 -0
  108. package/dist/runtime/networking/handler/IServerEventHandler.d.ts +84 -0
  109. package/dist/runtime/networking/handler/OnCharacterPlayerFriendUpdateEventHandler.d.ts +69 -0
  110. package/dist/runtime/networking/handler/OnCharacterPlayerGroupUpdateEventHandler.d.ts +49 -0
  111. package/dist/runtime/networking/handler/OnGamePlayerFriendUpdateEventHandler.d.ts +50 -0
  112. package/dist/runtime/networking/handler/OnGamePlayerGroupUpdateEventHandler.d.ts +41 -0
  113. package/dist/runtime/networking/handler/OnGroupMemberUpdateEventHandler.d.ts +47 -0
  114. package/dist/runtime/networking/handler/OnGroupMessageUpdateEventHandler.d.ts +46 -0
  115. package/dist/runtime/networking/http/HttpPeer.d.ts +173 -0
  116. package/dist/runtime/networking/http/NetworkingHttpPeerBase.d.ts +87 -0
  117. package/dist/runtime/networking/http/NetworkingPeerAxiosRequest.d.ts +113 -0
  118. package/dist/runtime/networking/socket/NetworkingPeerSocketIOClient.d.ts +145 -0
  119. package/dist/runtime/networking/socket/NetworkingSocketPeerBase.d.ts +198 -0
  120. package/dist/runtime/networking/socket/SocketPeer.d.ts +155 -0
  121. package/dist/runtime/typescript/ServiceUpdate.d.ts +46 -0
  122. package/docs/AI_CHEATSHEET.md +211 -0
  123. package/docs/COOKBOOK.md +912 -0
  124. package/docs/RULES.md +307 -0
  125. package/docs/ai-manifest.json +725 -0
  126. package/docs/guides/AUTHENTICATE.md +246 -0
  127. package/docs/guides/CHARACTER_PLAYER.md +439 -0
  128. package/docs/guides/CLOUDSCRIPT.md +335 -0
  129. package/docs/guides/COCOS_CREATOR_INTEGRATION.md +150 -0
  130. package/docs/guides/CONTENT.md +291 -0
  131. package/docs/guides/DASHBOARD.md +262 -0
  132. package/docs/guides/GAME_PLAYER.md +473 -0
  133. package/docs/guides/GROUP.md +412 -0
  134. package/docs/guides/INVENTORY.md +375 -0
  135. package/docs/guides/MASTER_PLAYER.md +458 -0
  136. package/docs/guides/MULTIPLAYER.md +303 -0
  137. package/docs/guides/STORE_INVENTORY.md +313 -0
  138. package/docs/llms-full.txt +43 -0
  139. package/docs/reference/API_AUTHENTICATE.md +75 -0
  140. package/docs/reference/API_CHARACTER_PLAYER.md +226 -0
  141. package/docs/reference/API_CLOUDSCRIPT.md +82 -0
  142. package/docs/reference/API_CONTENT.md +88 -0
  143. package/docs/reference/API_DASHBOARD.md +82 -0
  144. package/docs/reference/API_GAME_PLAYER.md +223 -0
  145. package/docs/reference/API_GROUP.md +187 -0
  146. package/docs/reference/API_INDEX.md +57 -0
  147. package/docs/reference/API_INVENTORY.md +169 -0
  148. package/docs/reference/API_MASTER_PLAYER.md +323 -0
  149. package/docs/reference/API_MULTIPLAYER.md +97 -0
  150. package/docs/reference/API_STORE_INVENTORY.md +109 -0
  151. package/docs/reference/CONFIG.md +107 -0
  152. package/docs/reference/DTO_INDEX.md +2543 -0
  153. package/docs/reference/ENUMS.md +433 -0
  154. package/docs/reference/ERROR_HANDLING.md +159 -0
  155. package/docs/reference/EVENTS.md +188 -0
  156. package/docs/reference/PERMISSION_RULES.md +55 -0
  157. package/docs/reference/dto/AUTHENTICATE.md +619 -0
  158. package/docs/reference/dto/CHARACTER_PLAYER.md +3686 -0
  159. package/docs/reference/dto/CLOUDSCRIPT.md +400 -0
  160. package/docs/reference/dto/CONTENT.md +548 -0
  161. package/docs/reference/dto/DASHBOARD.md +1980 -0
  162. package/docs/reference/dto/GAME_PLAYER.md +3631 -0
  163. package/docs/reference/dto/GENERIC.md +151 -0
  164. package/docs/reference/dto/GROUP.md +2842 -0
  165. package/docs/reference/dto/INVENTORY.md +2385 -0
  166. package/docs/reference/dto/MASTER_PLAYER.md +6024 -0
  167. package/docs/reference/dto/MULTIPLAYER.md +850 -0
  168. package/docs/reference/dto/STORE_INVENTORY.md +1262 -0
  169. package/llms.txt +47 -0
  170. package/package.json +11 -2
  171. package/GNServerSettings.debug.json +0 -21
  172. package/dist/runtime/GNNetwork.js +0 -273
  173. package/dist/runtime/GNNetworkAuthenticateApi.js +0 -122
  174. package/dist/runtime/GNNetworkCharacterPlayerApi.js +0 -968
  175. package/dist/runtime/GNNetworkCloudScriptApi.js +0 -104
  176. package/dist/runtime/GNNetworkContentApi.js +0 -140
  177. package/dist/runtime/GNNetworkDashboardApi.js +0 -170
  178. package/dist/runtime/GNNetworkGamePlayerApi.js +0 -950
  179. package/dist/runtime/GNNetworkGroupApi.js +0 -734
  180. package/dist/runtime/GNNetworkInventoryApi.js +0 -626
  181. package/dist/runtime/GNNetworkMasterPlayerApi.js +0 -1550
  182. package/dist/runtime/GNNetworkMultiplayerApi.js +0 -194
  183. package/dist/runtime/GNNetworkStoreInventoryApi.js +0 -266
  184. package/dist/runtime/common/Action0.js +0 -1
  185. package/dist/runtime/common/Action1.js +0 -1
  186. package/dist/runtime/common/Action2.js +0 -1
  187. package/dist/runtime/common/Action3.js +0 -1
  188. package/dist/runtime/common/Action4.js +0 -1
  189. package/dist/runtime/common/GNData.js +0 -209
  190. package/dist/runtime/config/GNServerSettings.js +0 -156
  191. package/dist/runtime/constant/Commands.js +0 -20
  192. package/dist/runtime/constant/EventCode.js +0 -8
  193. package/dist/runtime/constant/OperationCode.js +0 -221
  194. package/dist/runtime/constant/ReturnCode.js +0 -14
  195. package/dist/runtime/constant/enumType/ExecuteResponseStatus.js +0 -8
  196. package/dist/runtime/constant/enumType/FriendStatus.js +0 -7
  197. package/dist/runtime/constant/enumType/GoogleLoginType.js +0 -5
  198. package/dist/runtime/constant/enumType/GroupStatus.js +0 -7
  199. package/dist/runtime/constant/enumType/InvalidMemberType.js +0 -18
  200. package/dist/runtime/constant/enumType/ItemType.js +0 -5
  201. package/dist/runtime/constant/enumType/MatchmakingMemberStatus.js +0 -6
  202. package/dist/runtime/constant/enumType/MatchmakingTicketStatus.js +0 -8
  203. package/dist/runtime/constant/enumType/OwnerType.js +0 -9
  204. package/dist/runtime/constant/enumType/PermissionDataItem.js +0 -5
  205. package/dist/runtime/constant/enumType/PushPlatformType.js +0 -5
  206. package/dist/runtime/constant/enumType/RequestRole.js +0 -6
  207. package/dist/runtime/constant/enumType/RequestType.js +0 -15
  208. package/dist/runtime/constant/enumType/StoreItemType.js +0 -5
  209. package/dist/runtime/constant/enumType/StoreReceiveType.js +0 -8
  210. package/dist/runtime/constant/errorCode/ErrorCode.js +0 -52
  211. package/dist/runtime/constant/parameterCode/ParameterCode.js +0 -617
  212. package/dist/runtime/entity/DataMember.js +0 -208
  213. package/dist/runtime/entity/GNMetadata.js +0 -11
  214. package/dist/runtime/entity/InvalidMember.js +0 -1
  215. package/dist/runtime/entity/OperationEvent.js +0 -24
  216. package/dist/runtime/entity/OperationRequest.js +0 -42
  217. package/dist/runtime/entity/OperationResponse.js +0 -73
  218. package/dist/runtime/entity/models/AuthenticateModels.js +0 -426
  219. package/dist/runtime/entity/models/AuthenticateRequestModels.js +0 -188
  220. package/dist/runtime/entity/models/AuthenticateResponseModels.js +0 -131
  221. package/dist/runtime/entity/models/CharacterPlayerModels.js +0 -1433
  222. package/dist/runtime/entity/models/CharacterPlayerRequestModels.js +0 -1386
  223. package/dist/runtime/entity/models/CharacterPlayerResponseModels.js +0 -376
  224. package/dist/runtime/entity/models/CloudScriptModels.js +0 -197
  225. package/dist/runtime/entity/models/CloudScriptRequestModels.js +0 -138
  226. package/dist/runtime/entity/models/CloudScriptResponseModels.js +0 -40
  227. package/dist/runtime/entity/models/ContentModels.js +0 -203
  228. package/dist/runtime/entity/models/ContentRequestModels.js +0 -190
  229. package/dist/runtime/entity/models/ContentResponseModels.js +0 -54
  230. package/dist/runtime/entity/models/DashboardModels.js +0 -3002
  231. package/dist/runtime/entity/models/DashboardRequestModels.js +0 -268
  232. package/dist/runtime/entity/models/DashboardResponseModels.js +0 -187
  233. package/dist/runtime/entity/models/GamePlayerModels.js +0 -1591
  234. package/dist/runtime/entity/models/GamePlayerRequestModels.js +0 -1360
  235. package/dist/runtime/entity/models/GamePlayerResponseModels.js +0 -369
  236. package/dist/runtime/entity/models/GenericModels.js +0 -177
  237. package/dist/runtime/entity/models/GroupModels.js +0 -1135
  238. package/dist/runtime/entity/models/GroupRequestModels.js +0 -1048
  239. package/dist/runtime/entity/models/GroupResponseModels.js +0 -285
  240. package/dist/runtime/entity/models/InventoryModels.js +0 -915
  241. package/dist/runtime/entity/models/InventoryRequestModels.js +0 -892
  242. package/dist/runtime/entity/models/InventoryResponseModels.js +0 -243
  243. package/dist/runtime/entity/models/MasterPlayerModels.js +0 -2573
  244. package/dist/runtime/entity/models/MasterPlayerRequestModels.js +0 -2228
  245. package/dist/runtime/entity/models/MasterPlayerResponseModels.js +0 -607
  246. package/dist/runtime/entity/models/MultiplayerModels.js +0 -404
  247. package/dist/runtime/entity/models/MultiplayerRequestModels.js +0 -268
  248. package/dist/runtime/entity/models/MultiplayerResponseModels.js +0 -75
  249. package/dist/runtime/entity/models/StoreInventoryModels.js +0 -797
  250. package/dist/runtime/entity/models/StoreInventoryRequestModels.js +0 -372
  251. package/dist/runtime/entity/models/StoreInventoryResponseModels.js +0 -103
  252. package/dist/runtime/entity/request/CustomOperationRequest.js +0 -24
  253. package/dist/runtime/entity/response/CustomOperationResponse.js +0 -29
  254. package/dist/runtime/entity/response/GetAuthInfoResponse.js +0 -2
  255. package/dist/runtime/entity/response/HealthCheckResponse.js +0 -2
  256. package/dist/runtime/entity/response/UploadFileResponse.js +0 -2
  257. package/dist/runtime/helper/CodeHelper.js +0 -63
  258. package/dist/runtime/helper/ConverterService.js +0 -275
  259. package/dist/runtime/helper/EnumUtility.js +0 -33
  260. package/dist/runtime/helper/GNSupport.js +0 -47
  261. package/dist/runtime/helper/GNUtils.js +0 -72
  262. package/dist/runtime/helper/MessagePackConverterService.js +0 -9
  263. package/dist/runtime/helper/OperationHelper.js +0 -24
  264. package/dist/runtime/helper/StorageService.js +0 -62
  265. package/dist/runtime/logger/GNDebug.js +0 -29
  266. package/dist/runtime/networking/AuthenticateStatus.js +0 -14
  267. package/dist/runtime/networking/IPeer.js +0 -1
  268. package/dist/runtime/networking/NetworkingPeer.js +0 -210
  269. package/dist/runtime/networking/OperationPending.js +0 -53
  270. package/dist/runtime/networking/PeerBase.js +0 -161
  271. package/dist/runtime/networking/handler/IServerEventHandler.js +0 -13
  272. package/dist/runtime/networking/handler/OnCharacterPlayerFriendUpdateEventHandler.js +0 -39
  273. package/dist/runtime/networking/handler/OnCharacterPlayerGroupUpdateEventHandler.js +0 -39
  274. package/dist/runtime/networking/handler/OnGamePlayerFriendUpdateEventHandler.js +0 -39
  275. package/dist/runtime/networking/handler/OnGamePlayerGroupUpdateEventHandler.js +0 -39
  276. package/dist/runtime/networking/handler/OnGroupMemberUpdateEventHandler.js +0 -35
  277. package/dist/runtime/networking/handler/OnGroupMessageUpdateEventHandler.js +0 -43
  278. package/dist/runtime/networking/http/HttpPeer.js +0 -123
  279. package/dist/runtime/networking/http/NetworkingHttpPeerBase.js +0 -9
  280. package/dist/runtime/networking/http/NetworkingPeerAxiosRequest.js +0 -179
  281. package/dist/runtime/networking/socket/NetworkingPeerSocketIOClient.js +0 -130
  282. package/dist/runtime/networking/socket/NetworkingSocketPeerBase.js +0 -165
  283. package/dist/runtime/networking/socket/SocketPeer.js +0 -115
  284. package/dist/runtime/typescript/ServiceUpdate.js +0 -22
  285. package/docs/COCOS_CREATOR_INTEGRATION.md +0 -116
  286. package/examples/cocos-creator/GearNExample.ts.txt +0 -176
  287. package/srcSwift/Package.swift +0 -32
  288. package/srcSwift/Sources/GearN/runtime/GNNetwork.swift +0 -530
  289. package/srcSwift/Sources/GearN/runtime/GNNetworkAuthenticateApi.swift +0 -178
  290. package/srcSwift/Sources/GearN/runtime/GNNetworkCharacterPlayerApi.swift +0 -1162
  291. package/srcSwift/Sources/GearN/runtime/GNNetworkCloudScriptApi.swift +0 -154
  292. package/srcSwift/Sources/GearN/runtime/GNNetworkContentApi.swift +0 -208
  293. package/srcSwift/Sources/GearN/runtime/GNNetworkDashboardApi.swift +0 -240
  294. package/srcSwift/Sources/GearN/runtime/GNNetworkGamePlayerApi.swift +0 -1369
  295. package/srcSwift/Sources/GearN/runtime/GNNetworkGroupApi.swift +0 -1100
  296. package/srcSwift/Sources/GearN/runtime/GNNetworkInventoryApi.swift +0 -937
  297. package/srcSwift/Sources/GearN/runtime/GNNetworkMasterPlayerApi.swift +0 -2323
  298. package/srcSwift/Sources/GearN/runtime/GNNetworkMultiplayerApi.swift +0 -298
  299. package/srcSwift/Sources/GearN/runtime/GNNetworkStoreInventoryApi.swift +0 -397
  300. package/srcSwift/Sources/GearN/runtime/common/Action0.swift +0 -3
  301. package/srcSwift/Sources/GearN/runtime/common/Action1.swift +0 -3
  302. package/srcSwift/Sources/GearN/runtime/common/Action2.swift +0 -3
  303. package/srcSwift/Sources/GearN/runtime/common/Action3.swift +0 -3
  304. package/srcSwift/Sources/GearN/runtime/common/Action4.swift +0 -3
  305. package/srcSwift/Sources/GearN/runtime/common/GNArray.swift +0 -204
  306. package/srcSwift/Sources/GearN/runtime/common/GNData.swift +0 -108
  307. package/srcSwift/Sources/GearN/runtime/common/GNHashtable.swift +0 -200
  308. package/srcSwift/Sources/GearN/runtime/config/GNServerSettings.swift +0 -95
  309. package/srcSwift/Sources/GearN/runtime/constant/Commands.swift +0 -28
  310. package/srcSwift/Sources/GearN/runtime/constant/EventCode.swift +0 -10
  311. package/srcSwift/Sources/GearN/runtime/constant/OperationCode.swift +0 -252
  312. package/srcSwift/Sources/GearN/runtime/constant/ReturnCode.swift +0 -19
  313. package/srcSwift/Sources/GearN/runtime/constant/enumType/ExecuteResponseStatus.swift +0 -9
  314. package/srcSwift/Sources/GearN/runtime/constant/enumType/FriendStatus.swift +0 -8
  315. package/srcSwift/Sources/GearN/runtime/constant/enumType/GoogleLoginType.swift +0 -6
  316. package/srcSwift/Sources/GearN/runtime/constant/enumType/GroupStatus.swift +0 -8
  317. package/srcSwift/Sources/GearN/runtime/constant/enumType/InvalidMemberType.swift +0 -19
  318. package/srcSwift/Sources/GearN/runtime/constant/enumType/ItemType.swift +0 -6
  319. package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingMemberStatus.swift +0 -7
  320. package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingTicketStatus.swift +0 -9
  321. package/srcSwift/Sources/GearN/runtime/constant/enumType/OwnerType.swift +0 -10
  322. package/srcSwift/Sources/GearN/runtime/constant/enumType/PermissionDataItem.swift +0 -6
  323. package/srcSwift/Sources/GearN/runtime/constant/enumType/PushPlatformType.swift +0 -6
  324. package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestRole.swift +0 -7
  325. package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestType.swift +0 -16
  326. package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreItemType.swift +0 -6
  327. package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreReceiveType.swift +0 -9
  328. package/srcSwift/Sources/GearN/runtime/constant/errorCode/ErrorCode.swift +0 -58
  329. package/srcSwift/Sources/GearN/runtime/constant/parameterCode/ParameterCode.swift +0 -672
  330. package/srcSwift/Sources/GearN/runtime/entity/DataMember.swift +0 -196
  331. package/srcSwift/Sources/GearN/runtime/entity/GNMetadata.swift +0 -9
  332. package/srcSwift/Sources/GearN/runtime/entity/InvalidMember.swift +0 -11
  333. package/srcSwift/Sources/GearN/runtime/entity/OperationEvent.swift +0 -38
  334. package/srcSwift/Sources/GearN/runtime/entity/OperationHelper.swift +0 -28
  335. package/srcSwift/Sources/GearN/runtime/entity/OperationRequest.swift +0 -62
  336. package/srcSwift/Sources/GearN/runtime/entity/OperationResponse.swift +0 -98
  337. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateModels.swift +0 -351
  338. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateRequestModels.swift +0 -81
  339. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateResponseModels.swift +0 -108
  340. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerModels.swift +0 -1045
  341. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerRequestModels.swift +0 -821
  342. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerResponseModels.swift +0 -588
  343. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptModels.swift +0 -187
  344. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptRequestModels.swift +0 -84
  345. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptResponseModels.swift +0 -59
  346. package/srcSwift/Sources/GearN/runtime/entity/models/ContentModels.swift +0 -195
  347. package/srcSwift/Sources/GearN/runtime/entity/models/ContentRequestModels.swift +0 -116
  348. package/srcSwift/Sources/GearN/runtime/entity/models/ContentResponseModels.swift +0 -81
  349. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardModels.swift +0 -426
  350. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardRequestModels.swift +0 -160
  351. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardResponseModels.swift +0 -82
  352. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerModels.swift +0 -1334
  353. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerRequestModels.swift +0 -643
  354. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerResponseModels.swift +0 -213
  355. package/srcSwift/Sources/GearN/runtime/entity/models/GenericModels.swift +0 -171
  356. package/srcSwift/Sources/GearN/runtime/entity/models/GroupModels.swift +0 -850
  357. package/srcSwift/Sources/GearN/runtime/entity/models/GroupRequestModels.swift +0 -485
  358. package/srcSwift/Sources/GearN/runtime/entity/models/GroupResponseModels.swift +0 -165
  359. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryModels.swift +0 -679
  360. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryRequestModels.swift +0 -413
  361. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryResponseModels.swift +0 -141
  362. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerModels.swift +0 -378
  363. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerRequestModels.swift +0 -147
  364. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerResponseModels.swift +0 -318
  365. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerModels.swift +0 -319
  366. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerRequestModels.swift +0 -125
  367. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerResponseModels.swift +0 -45
  368. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryModels.swift +0 -633
  369. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryRequestModels.swift +0 -173
  370. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryResponseModels.swift +0 -61
  371. package/srcSwift/Sources/GearN/runtime/entity/request/CustomOperationRequest.swift +0 -42
  372. package/srcSwift/Sources/GearN/runtime/entity/response/CustomOperationResponse.swift +0 -49
  373. package/srcSwift/Sources/GearN/runtime/entity/response/GetAuthInfoResponse.swift +0 -43
  374. package/srcSwift/Sources/GearN/runtime/entity/response/HealthCheckResponse.swift +0 -86
  375. package/srcSwift/Sources/GearN/runtime/entity/response/UploadFileResponse.swift +0 -15
  376. package/srcSwift/Sources/GearN/runtime/helper/CodeHelper.swift +0 -107
  377. package/srcSwift/Sources/GearN/runtime/helper/ConverterService.swift +0 -98
  378. package/srcSwift/Sources/GearN/runtime/helper/EnumUtility.swift +0 -34
  379. package/srcSwift/Sources/GearN/runtime/helper/GNSupport.swift +0 -41
  380. package/srcSwift/Sources/GearN/runtime/helper/GNUtils.swift +0 -66
  381. package/srcSwift/Sources/GearN/runtime/helper/MessagePackConverterService.swift +0 -21
  382. package/srcSwift/Sources/GearN/runtime/helper/StorageService.swift +0 -29
  383. package/srcSwift/Sources/GearN/runtime/logger/GNDebug.swift +0 -33
  384. package/srcSwift/Sources/GearN/runtime/networking/AuthenticateStatus.swift +0 -24
  385. package/srcSwift/Sources/GearN/runtime/networking/IPeer.swift +0 -8
  386. package/srcSwift/Sources/GearN/runtime/networking/NetworkingPeer.swift +0 -368
  387. package/srcSwift/Sources/GearN/runtime/networking/OperationPending.swift +0 -81
  388. package/srcSwift/Sources/GearN/runtime/networking/PeerBase.swift +0 -228
  389. package/srcSwift/Sources/GearN/runtime/networking/handler/IServerEventHandler.swift +0 -20
  390. package/srcSwift/Sources/GearN/runtime/networking/http/HttpPeer.swift +0 -226
  391. package/srcSwift/Sources/GearN/runtime/networking/http/HttpTypes.swift +0 -24
  392. package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingHttpPeerBase.swift +0 -13
  393. package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingPeerUrlSession.swift +0 -125
  394. package/srcSwift/Sources/GearN/runtime/networking/request/NetRequest.swift +0 -19
  395. package/srcSwift/Sources/GearN/runtime/networking/response/NetResponse.swift +0 -13
  396. package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingPeerSocketIOClient.swift +0 -244
  397. package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingSocketPeerBase.swift +0 -59
  398. package/srcSwift/Sources/GearN/runtime/networking/socket/SocketPeer.swift +0 -136
  399. package/tsconfig-build.cocos.json +0 -31
  400. package/webpack.config.cocos.mjs +0 -78
@@ -1,81 +0,0 @@
1
- import Foundation
2
-
3
- public class OperationPending {
4
- private var operationRequest: OperationRequest
5
- private var requestType: RequestType
6
- private var role: RequestRole
7
- private var authToken: String
8
- private var secretKey: String
9
- private var gameId: String
10
- private var customTags: GNHashtable?
11
- private var onOperationResponse: Action1<OperationResponse>?
12
- private var timeout: Double
13
-
14
- private var firstSend: Double = 0
15
- private var secondsSend: Double = 0
16
-
17
- public init(requestType: RequestType, role: RequestRole, operationRequest: OperationRequest, onOperationResponse: Action1<OperationResponse>?, authToken: String, secretKey: String, customTags: GNHashtable?, gameId: String) {
18
- self.operationRequest = operationRequest
19
- self.onOperationResponse = onOperationResponse
20
-
21
- self.timeout = Date().timeIntervalSince1970 + Double(OperationRequest.defaultTimeOut)
22
- self.firstSend = 0
23
- self.secondsSend = 0
24
-
25
- self.requestType = requestType
26
- self.role = role
27
- self.authToken = authToken
28
- self.secretKey = secretKey
29
- self.gameId = gameId
30
- self.customTags = customTags
31
- }
32
-
33
- public func getRequestType() -> RequestType {
34
- return self.requestType
35
- }
36
-
37
- public func getRole() -> RequestRole {
38
- return self.role
39
- }
40
-
41
- public func getAuthToken() -> String {
42
- return self.authToken
43
- }
44
-
45
- public func getSecretKey() -> String {
46
- return self.secretKey
47
- }
48
-
49
- public func getGameId() -> String {
50
- return self.gameId
51
- }
52
-
53
- public func getCustomTags() -> GNHashtable? {
54
- return self.customTags
55
- }
56
-
57
- public func onSend() {
58
- self.firstSend = Date().timeIntervalSince1970
59
- self.timeout = self.firstSend + Double(self.operationRequest.getTimeout())
60
- }
61
-
62
- public func onRecv() {
63
- self.secondsSend = Date().timeIntervalSince1970
64
- }
65
-
66
- public func getExecuteTimerInMs() -> Double {
67
- return (self.secondsSend - self.firstSend)
68
- }
69
-
70
- public func isTimeout() -> Bool {
71
- return self.timeout < Date().timeIntervalSince1970
72
- }
73
-
74
- public func getOperationRequest() -> OperationRequest {
75
- return self.operationRequest
76
- }
77
-
78
- public func getCallback() -> Action1<OperationResponse>? {
79
- return self.onOperationResponse
80
- }
81
- }
@@ -1,228 +0,0 @@
1
- import Foundation
2
-
3
- public class PeerBase: IPeer {
4
- internal var operationPendingQueue: [OperationPending] = []
5
- internal var operationWaitingResponseDict: [Int: OperationPending] = [:]
6
-
7
- private static var requestId: Int = 0
8
-
9
- private var perMsgTimer: Double = 0
10
- private var nextSendMsgTimer: Double = 0
11
- private var checkTimeoutOperationPending: Double = 0
12
-
13
- public var ping: Double = -1
14
- private var pingLst: [Double] = []
15
-
16
- internal var isUse: Bool = false
17
-
18
- protected func getSendRate() -> Double {
19
- return (1000 / self.perMsgTimer)
20
- }
21
-
22
- protected func setSendRate(sendRate: Int) {
23
- self.perMsgTimer = 1000 / Double(sendRate) / 1000
24
- }
25
-
26
- public init() {
27
- // Swift classes need init
28
- }
29
-
30
- public func initPeer() {
31
- self.operationWaitingResponseDict = [:]
32
- self.operationPendingQueue = []
33
- self.pingLst = []
34
-
35
- self.initSendRate()
36
- self.initGNSocketObject()
37
- }
38
-
39
- private func initSendRate() {
40
- if let gnServerSettings = GNNetwork.getGNServerSettings() {
41
- self.setSendRate(sendRate: gnServerSettings.getSendRate())
42
- } else {
43
- // Fatal error or log? TS throws error
44
- fatalError("Null GN Server Settings, please find it now")
45
- }
46
- }
47
-
48
- // Abstract method workarounds
49
- open func initGNSocketObject() {
50
- fatalError("Must be implemented by subclass")
51
- }
52
-
53
- public func enqueue(requestType: RequestType, role: RequestRole, operationRequest: OperationRequest, onOperationResponse: Action1<OperationResponse>?, authToken: String?, secretKey: String?, customTags: GNHashtable?, gameId: String?) {
54
- if !self.isUse {
55
- GNDebug.logError("[GearN] Server Settings dont setup to use this to send operation request.")
56
- return
57
- }
58
-
59
- // Unwrap logic for optionals to match TS defaults or expectations
60
- let auth = authToken ?? ""
61
- let secret = secretKey ?? ""
62
- let game = gameId ?? ""
63
-
64
- if operationRequest.getRequestId() != -1 {
65
- PeerBase.requestId += 1
66
- let _ = operationRequest.setRequestId(requestId: PeerBase.requestId)
67
- }
68
-
69
- let operationPending = OperationPending(requestType: requestType, role: role, operationRequest: operationRequest, onOperationResponse: onOperationResponse, authToken: auth, secretKey: secret, customTags: customTags, gameId: game)
70
- self.operationPendingQueue.append(operationPending)
71
-
72
- self.onEnqueue(operationPending: operationPending)
73
- }
74
-
75
- open func onEnqueue(operationPending: OperationPending) {
76
- fatalError("Must be implemented by subclass")
77
- }
78
-
79
- public func isUsing() -> Bool {
80
- return self.isUse
81
- }
82
-
83
- public func service() {
84
- if !self.isUse { return }
85
-
86
- let nowSecond = Date().timeIntervalSince1970
87
- if self.checkTimeoutOperationPending < nowSecond {
88
- self.checkTimeoutOperationPending = nowSecond + 0.1
89
-
90
- if !self.operationWaitingResponseDict.isEmpty {
91
- var gnHashtableLst: [GNHashtable] = []
92
-
93
- for (operationPendingKey, operationPending) in self.operationWaitingResponseDict {
94
- if operationPending.isTimeout() {
95
- let gnHashtable = GNHashtable()
96
-
97
- gnHashtable.add(k: ParameterCode.ReturnCode, value: ReturnCode.OperationTimeout)
98
- gnHashtable.add(k: ParameterCode.Parameters, value: nil)
99
- gnHashtable.add(k: ParameterCode.ResponseId, value: operationPending.getOperationRequest().getRequestId())
100
-
101
- gnHashtableLst.append(gnHashtable)
102
- }
103
- }
104
-
105
- if !gnHashtableLst.isEmpty {
106
- gnHashtableLst.forEach { gnHashtable in
107
- self.onResponseHandler(obj: gnHashtable)
108
- }
109
- }
110
- }
111
- }
112
-
113
- if self.nextSendMsgTimer < nowSecond {
114
- if !self.operationPendingQueue.isEmpty {
115
- self.nextSendMsgTimer = nowSecond + self.perMsgTimer
116
-
117
- let operationPending = self.operationPendingQueue.removeFirst()
118
-
119
- self.send(operationPending: operationPending)
120
- }
121
- }
122
- }
123
-
124
- internal func onResponseHandler(obj: GNHashtable) {
125
- guard let responseId = obj.getNumber(ParameterCode.ResponseId) else { return }
126
-
127
- // TS key is number, Dictionary Int
128
- let key = Int(responseId)
129
-
130
- if let operationPending = self.operationWaitingResponseDict[key] {
131
- operationPending.onRecv()
132
-
133
- self.operationWaitingResponseDict.removeValue(forKey: key)
134
-
135
- let returnCode = Int(obj.getNumber(ParameterCode.ReturnCode) ?? Double(ReturnCode.UnknownError))
136
-
137
- let parameters = obj.getGNHashtable(ParameterCode.Parameters) ?? GNHashtable()
138
- let debugMessage = obj.getString(ParameterCode.DebugMessage) ?? ""
139
- let invalidRequestParameterArray = obj.getGNArray(ParameterCode.InvalidRequestParameters)
140
-
141
- let operationRequest = operationPending.getOperationRequest()
142
- let operationResponse = OperationResponse(operationCode: operationRequest.getOperationCode(), responseId: operationRequest.getRequestId())
143
-
144
- let _ = operationResponse.setReturnCode(returnCode: returnCode)
145
- let _ = operationResponse.setDebugMessage(debugMessage: debugMessage)
146
- let _ = operationResponse.setParameters(parameters: parameters)
147
-
148
- if let invalidRequestParameterArray = invalidRequestParameterArray {
149
- var invalidMembers: [InvalidMember] = []
150
- for i in 0..<invalidRequestParameterArray.count() {
151
- if let arrChild = invalidRequestParameterArray.getGNArray(i) {
152
- let code = arrChild.getString(0) ?? ""
153
- let typeInt = Int(arrChild.getNumber(1) ?? 0)
154
- let type = InvalidMemberType(rawValue: typeInt) ?? .UnknownError
155
- invalidMembers.append(InvalidMember(code: code, invalidMemberType: type))
156
- }
157
- }
158
- let _ = operationResponse.setInvalidMembers(invalidMembers: invalidMembers)
159
- }
160
-
161
- if !operationResponse.hasError() {
162
- self.addPing(value: operationPending.getExecuteTimerInMs())
163
-
164
- // Update auth/userId/ts in GNNetwork/Storage
165
- if parameters.containsKey(ParameterCode.AuthToken) {
166
- if let authToken = parameters.getString(ParameterCode.AuthToken) {
167
- GNNetwork.getAuthenticateStatus().setAuthToken(authToken: authToken)
168
- StorageService.set(key: GNNetwork.AUTH_TOKEN_KEY, value: authToken)
169
- }
170
- }
171
-
172
- if parameters.containsKey(ParameterCode.UserId) {
173
- if let userId = parameters.getString(ParameterCode.UserId) {
174
- GNNetwork.getAuthenticateStatus().setUserId(userId: userId)
175
- StorageService.set(key: GNNetwork.USER_ID_KEY, value: userId)
176
- }
177
- }
178
-
179
- if parameters.containsKey(ParameterCode.Ts) {
180
- // TS: GNNetwork.peer.setServerTimeMilliseconds(...)
181
- // Accessing GNNetwork.peer might be circular but Swift allows.
182
- // Assuming GNNetwork has static peer access
183
- let ts = parameters.getNumber(ParameterCode.Ts) ?? Double(Date().timeIntervalSince1970 * 1000)
184
- GNNetwork.getPeer().setServerTimeMilliseconds(currentServerMilliseconds: ts)
185
- }
186
- }
187
-
188
- GNDebug.log("[GN RECV] " + operationResponse.toString())
189
-
190
- if let callback = operationPending.getCallback() {
191
- callback(operationResponse)
192
- }
193
- } else {
194
- GNDebug.logError("[GearN] OnResponseHandler, unavailable request id \(obj)")
195
- }
196
- }
197
-
198
- internal func send(operationPending: OperationPending) {
199
- operationPending.onSend()
200
-
201
- let operationRequest = operationPending.getOperationRequest()
202
-
203
- if operationRequest.getRequestId() != -1 {
204
- if operationPending.getCallback() != nil {
205
- self.operationWaitingResponseDict[operationRequest.getRequestId()] = operationPending
206
- }
207
- }
208
- }
209
-
210
- func addPing(value: Double) {
211
- if self.pingLst.count > 10 {
212
- self.pingLst.removeFirst()
213
- }
214
- self.pingLst.append(value / 2)
215
-
216
- if !self.pingLst.isEmpty {
217
- var total: Double = 0
218
- for v in self.pingLst {
219
- total += v
220
- }
221
-
222
- let average = total / Double(self.pingLst.count)
223
- self.ping = (average * 1000)
224
- } else {
225
- self.ping = -1
226
- }
227
- }
228
- }
@@ -1,20 +0,0 @@
1
- import Foundation
2
-
3
- public protocol IServerEventHandler {
4
- init()
5
- func getEventCode() -> String
6
- func handle(operationEvent: OperationEvent)
7
- }
8
-
9
- public class ServerEventHandlerRegistry {
10
- private static var implementations: [IServerEventHandler.Type] = []
11
-
12
- public static func getImplementations() -> [IServerEventHandler.Type] {
13
- return implementations
14
- }
15
-
16
- public static func registerEvent<T: IServerEventHandler>(ctor: T.Type) -> T.Type {
17
- implementations.append(ctor)
18
- return ctor
19
- }
20
- }
@@ -1,226 +0,0 @@
1
- import Foundation
2
-
3
- public class HttpPeer: PeerBase {
4
- private var networkingHttpPeerBase: NetworkingHttpPeerBase!
5
-
6
- private static let JSON_CHAR_KNOWN: Character = "{"
7
-
8
- // Static API Strings
9
- internal static let API_JSON: String = "api/json"
10
- internal static let API_MSG_PACK: String = "api/msgpack"
11
- internal static let UPLOAD_FILE: String = "upload/file"
12
-
13
- // MARK: - GET Request for utility endpoints
14
- public func getRequest(subUri: String, onResponse: @escaping (HttpAppResponse) -> Void) {
15
- guard let settings = GNNetwork.getGNServerSettings() else {
16
- let response = HttpAppResponse()
17
- response.error = "No server settings"
18
- onResponse(response)
19
- return
20
- }
21
-
22
- let url = "\(settings.getHttpUrl())/\(subUri)"
23
-
24
- sendRawRequest(url: url, method: "GET", body: nil) { data, response, error in
25
- let httpResponse = HttpAppResponse()
26
-
27
- if let error = error {
28
- httpResponse.error = error.localizedDescription
29
- } else if let httpUrlResponse = response as? HTTPURLResponse {
30
- httpResponse.statusCode = httpUrlResponse.statusCode
31
- if let data = data {
32
- httpResponse.data = data
33
- httpResponse.text = String(data: data, encoding: .utf8)
34
- }
35
- }
36
-
37
- onResponse(httpResponse)
38
- }
39
- }
40
-
41
- // MARK: - Upload File
42
- public func uploadFile(fileId: String, content: Data, filename: String, mimetype: String, onResponse: @escaping (HttpAppResponse) -> Void) {
43
- guard let settings = GNNetwork.getGNServerSettings() else {
44
- let response = HttpAppResponse()
45
- response.error = "No server settings"
46
- onResponse(response)
47
- return
48
- }
49
-
50
- let url = "\(settings.getHttpUrl())/\(HttpPeer.UPLOAD_FILE)"
51
- let boundary = UUID().uuidString
52
-
53
- var body = Data()
54
-
55
- // Add file id field
56
- body.append("--\(boundary)\r\n".data(using: .utf8)!)
57
- body.append("Content-Disposition: form-data; name=\"fileId\"\r\n\r\n".data(using: .utf8)!)
58
- body.append("\(fileId)\r\n".data(using: .utf8)!)
59
-
60
- // Add file content
61
- body.append("--\(boundary)\r\n".data(using: .utf8)!)
62
- body.append("Content-Disposition: form-data; name=\"file\"; filename=\"\(filename)\"\r\n".data(using: .utf8)!)
63
- body.append("Content-Type: \(mimetype)\r\n\r\n".data(using: .utf8)!)
64
- body.append(content)
65
- body.append("\r\n".data(using: .utf8)!)
66
- body.append("--\(boundary)--\r\n".data(using: .utf8)!)
67
-
68
- var headers: [String: String] = [:]
69
- headers["Content-Type"] = "multipart/form-data; boundary=\(boundary)"
70
-
71
- if let authStatus = GNNetwork.getAuthenticateStatus() {
72
- headers["Authorization"] = "Bearer \(authStatus.getAuthToken())"
73
- }
74
-
75
- sendRawRequest(url: url, method: "POST", headers: headers, body: body) { data, response, error in
76
- let httpResponse = HttpAppResponse()
77
-
78
- if let error = error {
79
- httpResponse.error = error.localizedDescription
80
- } else if let httpUrlResponse = response as? HTTPURLResponse {
81
- httpResponse.statusCode = httpUrlResponse.statusCode
82
- if let data = data {
83
- httpResponse.data = data
84
- httpResponse.text = String(data: data, encoding: .utf8)
85
- }
86
- }
87
-
88
- onResponse(httpResponse)
89
- }
90
- }
91
-
92
-
93
- public override func initGNSocketObject() {
94
- guard let gnServerSettings = GNNetwork.getGNServerSettings() else {
95
- fatalError("Where is GN Server Settings")
96
- }
97
-
98
- self.isUse = gnServerSettings.isUseHttp()
99
-
100
- self.networkingHttpPeerBase = NetworkingPeerUrlSession()
101
-
102
- let httpUrl = gnServerSettings.getHttpUrl()
103
- let userAgent = "GN-swift-" + GNNetwork.getPlatform() + "@" + GNNetwork.getClientSdkVersion()
104
-
105
- self.networkingHttpPeerBase.initPeer(httpUrl: httpUrl, userAgent: userAgent)
106
- self.networkingHttpPeerBase.setUseReverseProxy(useReverseProxy: gnServerSettings.getUseReverseProxy())
107
- }
108
-
109
- public override func send(operationPending: OperationPending) {
110
- guard let gnServerSettings = GNNetwork.getGNServerSettings() else { return }
111
-
112
- let operationRequest = operationPending.getOperationRequest()
113
-
114
- if operationRequest.getTimeout() == OperationRequest.defaultTimeOut {
115
- let _ = operationRequest.setTimeout(timeout: gnServerSettings.getDefaultTimeoutInSeconds())
116
- }
117
-
118
- super.send(operationPending: operationPending)
119
-
120
- GNDebug.log("[GN Http SEND] " + operationRequest.toString())
121
-
122
- let authToken = operationPending.getAuthToken()
123
- let secretKey = operationPending.getSecretKey()
124
- let gameId = operationPending.getGameId()
125
- let customTags = operationPending.getCustomTags()
126
-
127
- var postType = gnServerSettings.getMessageType() == MessageType.Json ? PostType.Json : PostType.MsgPack
128
-
129
- // Assume Swift supports MsgPack effectively if lib present, otherwise fallback or error
130
- // Unlike JS, Swift strictly compiled so we adhere to settings. If MsgPack not impl, HttpPeerUrlSession handles it.
131
-
132
- let subUri = (postType == .Json ? HttpPeer.API_JSON : HttpPeer.API_MSG_PACK) + "/" + CodeHelper.getRequestTypeName(operationPending.getRequestType().rawValue) + "/" + CodeHelper.getRequestRoleName(operationPending.getRole().rawValue) + "/" + operationRequest.getOperationCode()
133
-
134
- self.networkingHttpPeerBase.postRequest(subUri: subUri, param: operationRequest.getParameters() ?? GNHashtable(), postType: postType, onHttpAppResponse: { [weak self] httpAppResponse in
135
- self?.onSendOperationRequestResponse(operationPending: operationPending, httpAppResponse: httpAppResponse)
136
- }, timeout: operationRequest.getTimeout(), authToken: authToken, secretKey: secretKey, customTags: customTags, gameId: gameId)
137
- }
138
-
139
- public override func onEnqueue(operationPending: OperationPending) {
140
- GNDebug.log("[GN Http ENQUEUE] " + operationPending.getOperationRequest().toString())
141
- }
142
-
143
- private func onSendOperationRequestResponse(operationPending: OperationPending, httpAppResponse: HttpAppResponse) {
144
- let operationRequest = operationPending.getOperationRequest()
145
- let obj = GNHashtable()
146
-
147
- if !httpAppResponse.hasError() {
148
- if httpAppResponse.statusCode == 200 {
149
- var gnHashtable: GNHashtable? = nil
150
-
151
- if let text = httpAppResponse.text, !text.isEmpty {
152
- if text.first == HttpPeer.JSON_CHAR_KNOWN {
153
- // Parse JSON
154
- if let data = text.data(using: .utf8),
155
- let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
156
- gnHashtable = GNHashtable()
157
- // Simple populate, assuming GNHashtable can ingest dictionary
158
- // Or builder pattern
159
- // Quick hack:
160
- for (k, v) in json {
161
- gnHashtable!.add(k: k, value: v)
162
- }
163
- }
164
- }
165
- }
166
-
167
- // If msgpack
168
- if gnHashtable == nil {
169
- if let data = httpAppResponse.data {
170
- // MsgPack deserialize
171
- // Placeholder
172
- }
173
- }
174
-
175
- if let table = gnHashtable {
176
- obj.add(k: ParameterCode.ReturnCode, value: table.getNumber(ParameterCode.ReturnCode))
177
- obj.add(k: ParameterCode.Parameters, value: table.getGNHashtable(ParameterCode.Parameters))
178
- obj.add(k: ParameterCode.InvalidRequestParameters, value: table.getGNArray(ParameterCode.InvalidRequestParameters))
179
- obj.add(k: ParameterCode.DebugMessage, value: table.getString(ParameterCode.DebugMessage))
180
- obj.add(k: ParameterCode.ResponseId, value: operationRequest.getRequestId())
181
-
182
- self.onResponseHandler(obj: obj)
183
- return
184
- }
185
- }
186
- }
187
-
188
- obj.add(k: ParameterCode.ReturnCode, value: ReturnCode.UnknownError)
189
- obj.add(k: ParameterCode.DebugMessage, value: httpAppResponse.error ?? "Unknown Error")
190
- obj.add(k: ParameterCode.ResponseId, value: operationRequest.getRequestId())
191
-
192
- self.onResponseHandler(obj: obj)
193
- }
194
-
195
- // MARK: - Raw Request Method
196
- public func sendRawRequest(
197
- url: String,
198
- method: String,
199
- headers: [String: String]? = nil,
200
- body: Data?,
201
- completion: @escaping (Data?, URLResponse?, Error?) -> Void
202
- ) {
203
- guard let requestUrl = URL(string: url) else {
204
- completion(nil, nil, NSError(domain: "HttpPeer", code: -1, userInfo: [NSLocalizedDescriptionKey: "Invalid URL"]))
205
- return
206
- }
207
-
208
- var request = URLRequest(url: requestUrl)
209
- request.httpMethod = method
210
- request.httpBody = body
211
-
212
- if let headers = headers {
213
- for (key, value) in headers {
214
- request.setValue(value, forHTTPHeaderField: key)
215
- }
216
- }
217
-
218
- let task = URLSession.shared.dataTask(with: request) { data, response, error in
219
- DispatchQueue.main.async {
220
- completion(data, response, error)
221
- }
222
- }
223
- task.resume()
224
- }
225
- }
226
-
@@ -1,24 +0,0 @@
1
- import Foundation
2
-
3
- public class HttpAppResponse {
4
- public var statusCode: Int = 0
5
- public var error: String?
6
- public var data: Data?
7
- public var text: String?
8
-
9
- public func hasError() -> Bool {
10
- return self.error != nil
11
- }
12
-
13
- public func toString() -> String {
14
- var answer = " StatusCode: \(self.statusCode)"
15
- if let err = self.error { answer += ", Error: \(err)" }
16
- if let txt = self.text { answer += ", Text: \(txt)" }
17
- return answer
18
- }
19
- }
20
-
21
- public enum PostType: Int {
22
- case Json = 0
23
- case MsgPack = 1
24
- }
@@ -1,13 +0,0 @@
1
- import Foundation
2
-
3
- public protocol NetworkingHttpPeerBase {
4
- func initPeer(httpUrl: String, userAgent: String)
5
-
6
- func setUseReverseProxy(useReverseProxy: Bool)
7
-
8
- func getRequest(subUri: String, onHttpAppResponse: @escaping Action1<HttpAppResponse>, timeout: Int, authToken: String, secretKey: String, gameId: String)
9
-
10
- func postRequest(subUri: String, param: GNHashtable, postType: PostType, onHttpAppResponse: @escaping Action1<HttpAppResponse>, timeout: Int, authToken: String, secretKey: String, customTags: GNHashtable?, gameId: String)
11
-
12
- func postRequestUpload(subUri: String, content: Data, filename: String, mimetype: String, onHttpAppResponse: @escaping Action1<HttpAppResponse>, timeout: Int)
13
- }