Compare commits

...

295 Commits

Author SHA1 Message Date
Peter Zignego 8b1596e12e Update README.md 2022-12-02 08:54:50 -05:00
Peter Zignego f3ad798d0e Update README.md 2022-11-30 19:55:34 -05:00
Peter Zignego ec5fc33af1 Update README.md 2022-11-30 19:55:12 -05:00
Go Takagi 9e112ec3f9 Update websocket-kit 2.5.0 (#212)
* Bump websocket-kit to 2.5.0

* Migrate breaking api changes
2022-07-18 22:27:02 -04:00
Peter Zignego 3823aee4cf Revert oauth endpoint change and query params fix (#207)
* Fix extracting query parameters from request

* downgrade oauth access path

Co-authored-by: David Jennes <david.jennes@gmail.com>
2022-01-23 20:20:59 -05:00
Peter Zignego b95391b03b Revert oauth endpoint change and query params fix (#207)
* Fix extracting query parameters from request

* downgrade oauth access path

Co-authored-by: David Jennes <david.jennes@gmail.com>
2022-01-23 20:01:37 -05:00
Peter Zignego 56be11a950 Revert oauth endpoint change and query params fix (#207)
* Fix extracting query parameters from request

* downgrade oauth access path

Co-authored-by: David Jennes <david.jennes@gmail.com>
2022-01-23 20:01:24 -05:00
Peter Zignego f6f4252075 Update podspec 2021-12-29 10:00:18 -05:00
Peter Zignego a16a78d322 Update pipelines (#205)
* Update pipelines
2021-12-28 10:56:58 -05:00
Peter Zignego ab751a0304 Remove deprecated rtmStart 2021-12-28 09:49:53 -05:00
Arkadiusz Adamski 8e46cbb105 Add conversations.[open|create|archive] (#202) 2021-10-19 19:15:23 -04:00
Atakan Dulker e178c3748a WebAPI: Passes access token as Bearer Token (#200)
* Added passing access token as a Bearer token.

* Removed superfluous code
2021-10-04 21:35:27 -04:00
Roman Podymov a19f6b3088 Codable vol.3 - Attachment (#193)
* Add Attachment.CodingKeys

* testAttachmentCodable

* Create attachment.json

* Update XCTestManifests.swift

* extension Action: Equatable

* extension AttachmentField: Equatable

* Update project.pbxproj

* Update attachment.json

* Update SKCoreTests.swift

* Refactoring
2021-07-10 11:33:31 -04:00
Peter Zignego 6b385bd29c Fix carthage CI (#196) 2021-02-28 20:51:27 -05:00
Peter Zignego aa1136a835 Update CI for Swift 5.3.3 and Xcode 12.4 (#195)
* Bump versions

* Update .xcframeworks
2021-02-28 19:01:03 -05:00
Peter Zignego d315114796 Modernize Package.swift 2021-02-28 13:35:16 -05:00
Peter Zignego c071f10bc8 4.6.0 (#190)
* Generate .xcframework deps, upgrade dep versions

* Don’t use_frameworks! for CocoaPods
2020-10-11 12:10:54 -04:00
Nike Kov a9768580c1 Swifter version bump. (#189) 2020-10-10 11:10:15 -04:00
Takeshi Ihara 37285cc86c add: conversations endpoint (#186) 2020-08-09 13:23:14 -04:00
Andy Saw 7555a83c9b Support specifying thread_ts when uploading files (#184) 2020-05-06 08:27:28 -04:00
wtimme 7cb2dbb5e6 Add pagination support to "users.list" (#182)
* #171 Have each parameter on a dedicated line

This makes it easier to add new ones without exceeding a
readable line length.

* #171 Add optional parameter `cursor` to "users.list"

* #171 Read `next_cursor` from "users.list" response

This allows callers to properly use the pagination of this API method.

* #171 Add support for "limit" parameter of users.list call
2020-05-06 08:25:52 -04:00
mtgto 94e6293f36 Fix event type name of email_domain_changed (#181) 2020-03-31 11:19:39 -04:00
mtgto 187a39ca14 Use Dictionary.compactMapValues (#180) 2020-03-31 11:15:00 -04:00
mtgto 6e63e74f81 Support users.conversations in WebAPI (#179) 2020-03-24 23:59:18 -04:00
mtgto 229e4eeaa1 Fix some wrong parameter names in WebAPI (#178) 2020-03-20 08:35:14 -04:00
Peter Zignego e7d01c4ec1 Version bumps 2019-12-20 08:38:11 -05:00
Peter Zignego 3089435da0 Rebuild with Xcode 11.3, module stability (#176)
* Framework dependencies BUILD_LIBRARY_FOR_DISTRIBUTION = YES

* Set BUILD_LIBRARY_FOR_DISTRIBUTION
2019-12-20 00:07:55 -05:00
noppefoxwolf b8c3c4a2af Support search request (#173) 2019-11-21 23:56:58 -05:00
Peter Zignego b48e47bc8b Update simulator destination (#174) 2019-11-21 23:55:04 -05:00
noppefoxwolf ab9e802770 Add convesations replies (#169)
* Add convesation replies
2019-10-23 21:19:27 -04:00
Peter Zignego 98dbad9ac7 5.1.1 (#170) 2019-10-14 21:59:53 -04:00
Peter Zignego 436014cfec Update for Swift 5.1 and Xcode 11 (#168)
* Rebuild dependencies with 5.1

* Import FoundationNetworking if found
2019-10-09 21:55:56 -04:00
Peter Zignego d50d74b78a Merge pull request #166 from RomanPodymov/master
Codable vol.2 - CustomProfileField, DoNotDisturbStatus, TeamIcon and Topic
2019-08-14 21:36:10 -04:00
Roman Podymov 80ce1c4731 missing tests 2019-07-31 23:46:05 +02:00
Roman Podymov 5ddf6d9f1a json for tests 2019-07-31 23:21:49 +02:00
Peter Zignego 267cf26b2e Merge pull request #165 from vasilenkoigor/UsersLookupByEmail-Endpoint
Added missed users.lookupByEmail endpoint
2019-07-25 21:20:42 -04:00
Roman Podymov 580a857f11 CustomProfileField, DoNotDisturbStatus, TeamIcon, Topic conform to Codable 2019-07-25 22:33:14 +02:00
i.v.vasilenko c3817bea15 Added missed parameter for users.lookupByEmail endpoint 2019-07-21 21:53:30 +03:00
i.v.vasilenko 492f51ce9b Added missed endpoint users.lookupByEmail 2019-07-21 21:33:38 +03:00
Roman Podymov 45b4e3f191 Merge pull request #1 from pvzig/master
Update master
2019-07-21 16:34:21 +02:00
Peter Zignego dd72c619d3 Merge pull request #164 from RobotsAndPencils/add_block_support
Adding Blocks support
2019-07-17 09:50:25 -04:00
Peter Zignego 43af10de88 Merge branch 'master' into add_block_support 2019-07-17 09:43:55 -04:00
Brad Brown 7ba97e4893 Adding Blocks support 2019-07-16 09:26:14 -05:00
Peter Zignego 0c24cb2262 Merge pull request #163 from RomanPodymov/master
Action, AttachmentField, Edited and Reply conform to Codable
2019-07-12 10:30:23 -04:00
Roman Podymov 7b76b76b94 Update XCTestManifests.swift 2019-06-26 00:33:52 +02:00
Roman Podymov 565c44677b Update XCTestManifests.swift 2019-06-26 00:33:38 +02:00
Roman Podymov 30dc3679c1 Fixed tests 2019-06-26 00:26:19 +02:00
Roman Podymov 9a18cae265 removed \n 2019-06-23 22:39:44 +02:00
Roman Podymov c04654a87b tests for Action 2019-06-23 22:38:45 +02:00
Roman Podymov bd7f67b3b0 attachmentfield tests 2019-06-22 17:03:01 +02:00
Roman Podymov 833add707f removed \n 2019-06-22 16:49:28 +02:00
Roman Podymov 9118a7688a tests for Reply (added missing files) 2019-06-22 16:46:36 +02:00
Roman Podymov cba1eb36a2 Tests for Reply 2019-06-22 16:45:11 +02:00
Roman Podymov d15139d00d Update Reply.swift 2019-06-22 14:53:35 +02:00
Roman Podymov c1cf9b47d8 Update AttachmentField.swift 2019-06-22 14:49:43 +02:00
Roman Podymov 986367be38 Update Action.swift 2019-06-22 14:48:08 +02:00
Peter Zignego 7d207136b3 Merge pull request #162 from pvzig/ci-update
Update to Azure Pipelines to macOS 10.14 and Xcode 10.2
2019-04-11 20:40:16 -04:00
Peter Zignego 0fa3b72a56 Workspace path 2019-04-11 20:36:18 -04:00
Peter Zignego 67d2bb3f62 xcodeVersion 2019-04-11 20:08:26 -04:00
Peter Zignego f2c333f57d Update to macOS 10.14 and Xcode 10.2 2019-04-11 20:01:40 -04:00
Peter Zignego eccda7a525 Merge pull request #161 from victorgama/fix/typo
Fix typo SKRMTAPI -> SKRTMAPI
2019-04-06 20:58:16 -04:00
Victor Gama ac0d9977b5 Fix typo SKRMTAPI -> SKRTMAPI 2019-04-06 20:29:34 -03:00
Peter Zignego 6c1612f2bb Merge pull request #160 from pvzig/examples
Support CocoaPods and Carthage for examples
2019-04-06 13:52:38 -04:00
Peter Zignego ead9bb9c41 Support CocoaPods and Carthage for examples 2019-04-06 13:46:27 -04:00
Peter Zignego cc20c54967 Update README.md 2019-04-05 11:29:39 -04:00
Peter Zignego d5c2dd48f7 Update README.md 2019-04-05 11:29:21 -04:00
Peter Zignego f4336f1dde Update README.md 2019-04-05 11:29:06 -04:00
Peter Zignego 7ab91d9440 Update README.md 2019-04-05 11:28:30 -04:00
Peter Zignego 7e7a168806 Update README.md 2019-04-05 11:27:59 -04:00
Peter Zignego 9651351ec9 Update README.md 2019-04-05 11:25:58 -04:00
Peter Zignego c658616e0f Merge pull request #159 from pvzig/swift5
Swift 5
2019-04-04 21:44:49 -04:00
Peter Zignego c8a40de44f Fix package 2019-03-28 00:21:30 -04:00
Peter Zignego b212d1631a Pacakge tools 4.2 2019-03-28 00:16:50 -04:00
Peter Zignego 8adf701444 Update linux build steps to Swift 5 2019-03-28 00:05:30 -04:00
Peter Zignego b2f69d4b65 Swift 5 2019-03-27 23:57:06 -04:00
Peter Zignego 906d451200 Merge pull request #157 from tandinhle/master
Add missing endpoint of Channels API
2019-03-21 10:06:41 -04:00
Tan Le 80d2cab81c Add missing endpoint of Channels API
Add enpoints: join, leave, archive, unarchive, rename, kick
2019-03-19 10:57:38 -05:00
Peter Zignego c8bc22cbb9 Merge pull request #155 from allenhumphreys/ah/issue-151-support-threaded-ephemeral
Support sending ephemeral messages in threads
2019-03-09 19:50:57 -05:00
Peter Zignego e9ca0365c7 Merge pull request #154 from allenhumphreys/ah/change-thread-count
Change the number of threads to 1 for VaporEngineRTM
2019-03-09 19:50:15 -05:00
Allen Humphreys 52b0a7fd4e Support sending ephemeral messages in threads 2019-03-09 18:06:00 -06:00
Allen Humphreys 3651fc921b Change the number of threads to 1 2019-03-08 09:44:54 -06:00
Peter Zignego ef3425e38e Merge pull request #153 from rectalogic/edited
Edited is in nestedMessage for message_changed subtype.
2019-03-07 16:06:09 -05:00
Andrew Wason 533e961c85 Edited is in nestedMessage for message_changed subtype.
https://api.slack.com/events/message/message_changed
2019-03-07 15:18:20 -05:00
Peter Zignego c2f7632be4 Merge pull request #150 from pvzig/member-leave-join-events
Add support for member_joined_channel and member_left_channel events
2019-03-05 23:21:09 -05:00
Peter Zignego 245d709125 Guess not 2019-03-05 23:17:24 -05:00
Peter Zignego 1ad14f016a Remove old files 2019-03-05 23:11:37 -05:00
Peter Zignego 03561eab36 Generate test files on CI 2019-03-05 23:11:25 -05:00
Peter Zignego f2c98f9d86 Add support for member_left_channel and member_joined_channel events 2019-03-05 23:10:59 -05:00
Peter Zignego bde39be109 Readme 2019-03-05 21:17:44 -05:00
Peter Zignego 5d7ac480b2 More readme changes 2019-03-05 21:05:56 -05:00
Peter Zignego 3579579c80 Readme updates 2019-03-05 20:47:43 -05:00
Peter Zignego 47865cbcee Merge pull request #149 from henry2423/master
Fix MessageActionRequest Issue
2019-02-28 18:32:36 -05:00
Henry Huang 054f8f2d87 [FIX] ActionRequest JSON decoder 2019-02-28 16:59:10 -06:00
Henry d7a02da74b Merge pull request #1 from pvzig/master
Merge
2019-02-28 16:56:35 -06:00
Peter Zignego 1846597f04 Update README.md 2019-02-25 09:32:00 -05:00
Peter Zignego f94b3b247b Merge pull request #147 from pvzig/tests
Add testing
2019-02-24 20:07:50 -05:00
Peter Zignego a96c17a3ad Fix tests 2019-02-24 20:00:06 -05:00
Peter Zignego 6276a09ced Fix CI tests 2019-02-24 19:50:03 -05:00
Peter Zignego ca92016ab9 Fix job names 2019-02-24 19:14:59 -05:00
Peter Zignego 21bca0e0e8 Fix illegal character 2019-02-24 18:57:58 -05:00
Peter Zignego dd02e9aecc Testing setup 2019-02-24 18:52:08 -05:00
Peter Zignego 77cc351bd6 Exclude VaporEngineRTM from CocoaPod 2019-02-20 11:41:50 -05:00
Peter Zignego 6385afb34a Fix preprocessor macros 2019-02-19 23:28:05 -05:00
Peter Zignego b880356dde Don’t build for CocoaPods 2019-02-19 22:47:36 -05:00
Peter Zignego fdd2a5aa36 4.2.1 2019-02-19 22:19:23 -05:00
Peter Zignego 93f8da2f69 Merge pull request #146 from pvzig/podspec
Fix podspec
2019-02-19 22:01:10 -05:00
Peter Zignego a165f3e57f Fix podspec 2019-02-19 21:40:33 -05:00
Peter Zignego d7f2221d77 Merge pull request #145 from rectalogic/files
Message contains an array of "files", not a single "file".
2019-02-18 22:51:08 -05:00
Peter Zignego 02bda676a9 Merge pull request #144 from henry2423/master
Add support for Ephemeral message API
2019-02-18 22:50:11 -05:00
Peter Zignego e4bd44e939 Merge pull request #140 from RobotsAndPencils/support-multiple-files
Add support for multiple files in a single event
2019-02-16 13:51:30 -05:00
Andrew Wason d83fbb1d7e Message contains an array of "files", not a single "file". 2019-02-15 17:13:59 -05:00
Henry Huang c2734a66c3 [FIX] sendEphemeral function parameter 2019-02-15 15:07:56 -06:00
Henry Huang 721f8964cf [ADD] post Ephemeral message API function 2019-02-15 15:02:57 -06:00
Brandon Evans 37ca701ae0 Add support for multiple files in a single event
> The file attribute attached to messages is replaced with a new files field that includes an array of files in a different format instead.
https://api.slack.com/changelog/2018-05-file-threads-soon-tread
2019-02-15 13:59:30 -07:00
Peter Zignego c1a89eedda Merge pull request #141 from RobotsAndPencils/add-user-profile-status
Add users.profile.set endpoint
2019-02-15 13:45:55 -05:00
Brandon Evans 8aeb88cea3 Add users.profile.set endpoint
This isn't an ideal implementation because it's not clear from the documentation if sending everything in the URL for a JSON request is supported, but this does work when tested manually.

This isn't complete support for the endpoint. In particular, custom profile fields won't be set.

https://api.slack.com/methods/users.profile.set
2019-02-14 17:33:32 -07:00
Peter Zignego b776ef02a7 Update podspec 2019-02-11 14:46:28 -05:00
Peter Zignego 0befabb620 Remove SDKROOT (Carthage) 2019-02-10 20:09:45 -05:00
Peter Zignego 0edc193314 Simulator build fixes 2019-02-10 19:57:14 -05:00
Peter Zignego 806a72efec Update podspec 2019-02-10 19:03:05 -05:00
Peter Zignego ea02b850f5 Fix code signing build issues 2019-02-10 19:02:46 -05:00
Peter Zignego ec83087712 Merge pull request #139 from pvzig/monorepo
Switch back to a monorepo structure
2019-02-10 13:38:37 -05:00
Peter Zignego 798397b21c Update readme 2019-02-10 13:37:43 -05:00
Peter Zignego 5677a13372 Set deployment targets 2019-02-10 13:37:35 -05:00
Peter Zignego 581f1b94bd Trigger master 2019-02-10 13:31:00 -05:00
Peter Zignego dbd403739b Add examples 2019-02-10 13:28:49 -05:00
Peter Zignego e0af108b85 Merge pull request #138 from pvzig/azure-pipelines
Set up CI with Azure Pipelines
2019-01-31 23:27:52 -05:00
Peter Zignego efa95e34df Fix package 2019-01-31 23:22:41 -05:00
Peter Zignego 5232879f77 Merge branch 'monorepo' into azure-pipelines 2019-01-31 23:17:52 -05:00
azure-pipelines[bot] 7716a304c9 Set up CI with Azure Pipelines 2019-02-01 04:14:00 +00:00
Peter Zignego 7ca9bfbd0b Bring back linux 2019-01-31 23:11:38 -05:00
Peter Zignego f4afca3cab Linux fixes 2019-01-31 23:10:36 -05:00
Peter Zignego bcd33ab9e7 Update azure-pipelines.yml 2019-01-31 00:54:37 -05:00
Peter Zignego 96cb9e09e3 Testing out Azure Pipelines 2019-01-29 20:38:17 -05:00
Peter Zignego 9ac93890f4 All the great schemes 2019-01-28 20:45:27 -05:00
Peter Zignego ca232f8e8f Update .swift-version 2019-01-27 16:11:35 -05:00
Peter Zignego 9b859f0c99 Don’t check in package manager .resolved files 2019-01-27 16:10:37 -05:00
Peter Zignego 07e5b8636f Swift package 2019-01-27 16:09:05 -05:00
Peter Zignego 37b7b74914 Compiles 2019-01-27 16:08:53 -05:00
Peter Zignego 78c07974bf SKServer Swift 4.2 fix-it 2019-01-27 16:08:01 -05:00
Peter Zignego d44e04cd07 Clean up 2019-01-27 14:40:05 -05:00
Peter Zignego d8fffe738d Organize 2019-01-27 14:00:15 -05:00
Peter Zignego 239eb94093 monorepo 2019-01-27 11:57:06 -05:00
Peter Zignego c2f3731a69 Swift 4 2018-02-18 22:46:32 -05:00
Peter Zignego 48f80cc13d Merge pull request #121 from emorydunn/multispace
Multiple Workspace Support
2018-01-23 18:10:17 -05:00
Emory Dunn 0396d9c6d5 Add ClientConnection to Xcode 2018-01-22 14:44:46 -08:00
Emory Dunn 3514b637c8 Preserve compatibility with previous version
Add computed properties for `rtm` and `webAPI` that return the first client’s connections.
2017-12-28 22:45:10 -08:00
Emory Dunn 78ce839cc1 Move ClientConnection class to its own file 2017-12-28 22:36:38 -08:00
Emory Dunn 831bb20ff7 Add multiple client support
Add a new `ClientConnection` class to hold each client’s `Client`, RTM, and WebAPI connections.
2017-12-28 22:20:37 -08:00
Peter Zignego 43dda4a2f0 Update README.md 2017-07-14 16:51:39 -04:00
Peter Zignego 2f0978ccc4 majorVersion 4 2017-07-14 16:47:06 -04:00
Peter Zignego 71c5eda4a1 SwiftLint + gardening 2017-06-09 16:45:22 -04:00
Peter Zignego 4b241374ea Update README.md 2017-06-04 14:22:02 -04:00
Peter Zignego dd07b545c7 Merge branch '4.0'
# Conflicts:
#	Cartfile
#	Package.swift
#	Podfile
#	README.md
#	SlackKit.podspec
#	SlackKit.xcodeproj/project.pbxproj
#	Sources/SlackKit/Model/Message.swift
#	Sources/SlackKit/Model/User.swift
#	Sources/SlackKit/NetworkInterface.swift
#	Sources/SlackKit/WebAPI.swift
#	Supporting Files/Info.plist
2017-06-04 13:16:25 -04:00
Peter Zignego af4ba6623c Carthage support 2017-06-04 13:12:24 -04:00
Peter Zignego 435607d170 Update SlackKit.swift 2017-06-03 22:18:00 -04:00
Peter Zignego 8094bd2c6c Update .swift-version 2017-06-03 18:02:35 -04:00
Peter Zignego d8d22f6083 Update .swift-version 2017-06-03 18:02:24 -04:00
Peter Zignego 6fcfe2fda4 Update README.md 2017-06-02 23:08:38 -04:00
Peter Zignego 6ccce1875b Merge branch '4.0' of https://github.com/SlackKit/SlackKit into 4.0 2017-06-02 15:35:16 -04:00
Peter Zignego 433fc1a8ff Add platform 2017-06-02 15:34:58 -04:00
Peter Zignego 4f64c952b8 Update README.md 2017-06-02 15:26:08 -04:00
Peter Zignego 139b25a7f0 Add SKServer 2017-06-02 15:25:46 -04:00
Peter Zignego 3ee4e0fd1d Update README.md 2017-05-26 13:28:23 -04:00
Peter Zignego f013840cae SlackKit v4 2017-04-15 15:33:06 -04:00
Peter Zignego 79457aa13d Merge pull request #90 from skagedal/master
Add support for status text and status emoji
2017-04-15 10:27:34 -04:00
Simon Kågedal Reimer ac2657b7e1 Add support for status text and status emoji 2017-04-14 21:02:54 +02:00
Peter Zignego 82130f2e67 Merge pull request #89 from johntmcintosh/threads
Add support for the `thread_ts` parameter used to indicate and track threaded conversations
2017-04-11 21:41:46 -04:00
John McIntosh b9573c4e8b Add support for the thread_ts parameter used to indicate and track threaded conversations 2017-04-11 09:57:39 -05:00
Peter Zignego 6481620e7a Bump podspec 2017-04-09 17:16:46 -04:00
Peter Zignego 35e7ead8d1 Merge branch 'master' of https://github.com/pvzig/SlackKit 2017-04-09 17:14:46 -04:00
Peter Zignego 0f896fdaee xcodeproj gardening 2017-04-09 17:14:36 -04:00
Peter Zignego 8a4fceaa00 Swift 3.1 gardening 2017-04-09 17:12:08 -04:00
Peter Zignego 6007f790db Update README.md 2017-04-09 17:10:53 -04:00
Peter Zignego 05e7f2baa3 Merge pull request #88 from Xiangxin/swift3.1
Swift 3.1 initial update
2017-04-09 16:51:31 -04:00
Xiangxin 39871172e9 Adapt swift 3.1 changes and fix warnings 2017-03-30 14:50:26 +08:00
Peter Zignego 491f80741b Update podspec 2017-03-19 19:32:39 -04:00
Peter Zignego 0eb9ea31e1 3.1.11 2017-03-19 19:11:16 -04:00
Peter Zignego 8865376c3c Merge branch 'master' of https://github.com/pvzig/SlackKit 2017-03-18 15:21:42 -04:00
Peter Zignego d86d0108ff Update podfile 2017-03-18 15:21:01 -04:00
Peter Zignego b45b7085ce Update Package.swift 2017-03-18 15:17:30 -04:00
Peter Zignego 91193c6b2e Update podspec 2017-03-18 14:07:58 -04:00
Peter Zignego 9720b1c05c Merge branch 'master' of https://github.com/pvzig/SlackKit 2017-03-18 12:20:55 -04:00
Peter Zignego 9766a5ad6c Bump version strings 2017-03-18 12:20:48 -04:00
Peter Zignego 1e181e7580 Update README.md 2017-03-18 12:07:10 -04:00
Peter Zignego f6d6c779ae Update dependencies 2017-03-18 11:14:56 -04:00
Peter Zignego 11bb50f8d2 Delete Podfile.lock 2017-03-13 11:56:05 -04:00
Peter Zignego d721e0ba1a Delete Cartfile.resolved 2017-03-13 11:55:54 -04:00
Peter Zignego ba6066875c Update Package.swift 2017-03-13 11:55:40 -04:00
Peter Zignego 0f1a1a9de5 Update Cartfile 2017-03-13 11:54:43 -04:00
Peter Zignego a81cebf5c8 Update Podfile 2017-03-13 11:54:05 -04:00
Peter Zignego 007ec7ab69 License headers 2017-03-10 19:35:29 -05:00
Peter Zignego b93d411f63 More precise os preprocessor 2017-03-10 18:39:25 -05:00
Peter Zignego 741a23809d Additional linux fixes 2017-03-10 18:32:24 -05:00
Peter Zignego a92fd36c17 Additional fixes for linux 2017-03-10 18:29:19 -05:00
Peter Zignego e122610c04 Linux compilation fixes 2017-03-10 18:19:30 -05:00
Peter Zignego 0539e0bac2 Update .swift-version 2017-03-10 17:32:14 -05:00
Peter Zignego 3416161818 Clean up 2017-03-10 17:29:43 -05:00
Peter Zignego 32a4aa13ea Clean up 2017-03-10 17:28:22 -05:00
Peter Zignego cf188ffb6a Gardening 2017-03-10 17:28:06 -05:00
Peter Zignego f1a1963ac8 Acess control 2017-03-10 17:27:51 -05:00
Peter Zignego 645797b72e Add OAuth config 2017-03-09 19:25:09 -05:00
Peter Zignego b9f808f70e Rename ClientOptions to RTMOptions 2017-03-09 19:24:51 -05:00
Peter Zignego 74ef3979f5 Renaming 2017-03-07 18:16:21 -05:00
Peter Zignego 992879f54f Update copyright year 2017-03-07 01:41:38 -05:00
Peter Zignego ccdf9d5d3c SKServer 2017-03-07 01:29:27 -05:00
Peter Zignego 0336b5a9b6 Synchronous request 2017-03-07 01:28:59 -05:00
Peter Zignego aefbeafd28 Break out WebAPI 2017-03-06 20:29:50 -05:00
Peter Zignego bc6c07f045 Update SKCore 2017-03-06 20:28:13 -05:00
Peter Zignego db24e66d33 Postpone events 2017-02-22 22:12:34 -05:00
Peter Zignego ef70f935c1 Renaming… 2017-02-22 22:12:16 -05:00
Peter Zignego afbf8ab6fe Naming… 2017-02-22 21:42:43 -05:00
Peter Zignego d39296f496 SKServer initial 2017-02-22 21:13:07 -05:00
Peter Zignego eafceb4645 Split Client from RTM 2017-02-22 19:54:07 -05:00
Peter Zignego 83cf85a27a SKCommon -> SKCore 2017-02-22 19:53:13 -05:00
Peter Zignego 06e250a954 RTM clean up 2017-02-21 23:10:13 -05:00
Peter Zignego 5b6622a961 v4 WIP 2017-02-20 13:10:45 -05:00
Peter Zignego a58e291d2e Organization 2017-02-04 18:21:37 -05:00
Peter Zignego a0e1f9844e Access control, organization 2017-02-04 13:32:26 -05:00
Peter Zignego 7d524ddeac Split to Common, Client, Server 2017-02-04 12:48:03 -05:00
Peter Zignego 94c9f7fe5a Bump version 2017-01-25 12:31:34 -05:00
Peter Zignego be8a5879f3 Merge pull request #77 from norwoodsystems/master
Updated podspec
2017-01-25 12:29:03 -05:00
kiancheong c657919704 Updated podspec 2017-01-25 14:42:19 +08:00
Peter Zignego abeef21d7a Merge pull request #75 from sersoft-gmbh/master
Fix author_name in Attachment, add Markdown fields for Attachments, fix optionality
2017-01-21 10:53:28 -05:00
Florian Friedrich 79e3b14593 Add missing ? in AttachmentField initializer 2017-01-20 16:16:35 +01:00
Florian Friedrich d9a4cda9b0 Made AttachmentField init params optional, fix author_name key in Attachment, add markdown fields to attachment 2017-01-20 16:11:08 +01:00
Peter Zignego 12b316da0b Merge pull request #73 from strogonoff/patch-1
OAuth: scopes must be supplied
2017-01-18 09:20:53 -05:00
Anton Strogonoff 13cade5c00 OAuth: scopes must be supplied
Slack API spec requires the "scope" parameter when requesting authorization code. Without it a token cannot be obtained as request fails with an error.
2017-01-18 16:21:03 +07:00
Peter Zignego 051e8dd6c8 Fix podspec 2017-01-16 22:11:52 -05:00
Peter Zignego 1adea1c54e Fix podspec 2017-01-16 22:02:43 -05:00
Peter Zignego aa51cfb2fd Version bump 2017-01-16 21:37:49 -05:00
Peter Zignego 6b8885bd29 Merge pull request #72 from pvzig/3.1.8
3.1.8
2017-01-16 21:34:58 -05:00
Peter Zignego e0fbf1ab4e Add logging of unsupported events 2017-01-16 21:32:21 -05:00
Peter Zignego 366c6e7b77 Merge pull request #68 from pvzig/master-project-structure
Project organization
2017-01-06 17:59:37 -05:00
Peter Zignego 378c116d9b Project organization 2017-01-06 17:42:06 -05:00
Peter Zignego 58bade8ec9 Bump version 2017-01-04 22:10:18 -05:00
Peter Zignego 7d7f5c40d6 Update readme 2017-01-04 22:09:18 -05:00
Peter Zignego c9fd54d106 Merge pull request #66 from pvzig/3.1.7
3.1.7
2017-01-04 22:08:10 -05:00
Peter Zignego 2f1ce799ad URLComponents and WebAPI clean up 2017-01-04 22:06:47 -05:00
Peter Zignego 7f02f4cf99 Update readme 2017-01-03 22:07:57 -05:00
Peter Zignego a9066c0d0a Bump version 2017-01-03 21:29:49 -05:00
Peter Zignego 29739dba74 Merge pull request #65 from pvzig/minor-updates
Code styling
2017-01-03 21:20:00 -05:00
Peter Zignego d60a7094a4 Readme 2017-01-03 21:18:58 -05:00
Peter Zignego 7edd4210f6 Code quality improvements 2017-01-02 22:41:03 -05:00
Peter Zignego 2abaecbd14 Lowercase enums 2017-01-02 22:39:56 -05:00
Peter Zignego 346499e03b Update podspec version 2016-11-25 12:46:48 -05:00
Peter Zignego bc72a52bf5 Update readme 2016-11-24 12:37:48 -05:00
Peter Zignego 0ebd3cb0e7 Merge pull request #60 from pvzig/ios-fix
Fix iOS crash + Swift 3 style changes
2016-11-24 12:19:39 -05:00
Peter Zignego 5d7064ee13 Podfile + versioning 2016-11-24 12:16:53 -05:00
Peter Zignego d02768ddad Bump starscream version 2016-11-24 12:01:54 -05:00
Peter Zignego dbc7b361c8 Merge branch 'master' into ios-fix 2016-11-24 11:59:50 -05:00
Peter Zignego a0de46e3c7 Code quality improvements 2016-11-20 22:10:44 -05:00
Peter Zignego 2d6e19baee Bump starscream version 2016-11-20 22:07:06 -05:00
Peter Zignego 21ec3cb2a1 Fix iOS crash 2016-11-20 22:04:50 -05:00
Peter Zignego cb542da068 Merge pull request #59 from MarcusSmith/master
Fix File Upload Bug
2016-11-18 14:16:18 -05:00
Marcus Smith 788b4e4f7a Remove File data from upload's query parameters, which was preventing a proper URL from being created from the request string 2016-11-18 14:14:02 -05:00
Peter Zignego 24b2292cba Request string bugfix 2016-11-17 16:48:00 -05:00
Peter Zignego 72866262d2 Fix request string bug 2016-11-17 16:30:28 -05:00
Peter Zignego acabbb6c03 Update README.md 2016-11-17 15:04:18 -05:00
Peter Zignego fff0f0befc Merge branch 'master' of https://github.com/pvzig/SlackKit into ios-fix
# Conflicts:
#	SlackKit/Sources/WebAPI.swift
2016-11-17 14:44:35 -05:00
Peter Zignego cf0675dac2 Merge pull request #58 from stucarney/master
Added missing support for chat.meMessage endpoint
2016-11-17 09:08:54 -05:00
Stu Carney 1cffa0ba74 Added missing support for chat.meMessage endpoint 2016-11-16 20:00:22 -06:00
Peter Zignego 9ebd8182a6 Lowercase enums 2016-11-13 17:26:32 -05:00
Peter Zignego 63a8ae7f08 Lowercase enums 2016-11-13 15:34:27 -05:00
Peter Zignego 992f94e870 Lowercase error enums 2016-11-13 15:32:50 -05:00
Peter Zignego 1c476c77ad Lowercase enums 2016-11-11 14:59:43 -05:00
Peter Zignego 28bd612ca0 Carthage search paths 2016-10-11 21:18:34 -04:00
Peter Zignego 45cf2a7ac0 Add back links for carthage 2016-10-11 21:12:31 -04:00
Peter Zignego f7c986c65c Update dependency managers 2016-10-11 21:01:17 -04:00
Peter Zignego ca43df4475 Update project file 2016-10-11 19:43:14 -04:00
Peter Zignego ef71b6abf0 Swifter compatability 2016-10-11 19:41:36 -04:00
Peter Zignego 3ff922a2c0 Project file update 2016-10-11 19:41:28 -04:00
Peter Zignego 646c371bd3 SPM compatability 2016-10-01 12:37:13 -04:00
Peter Zignego 36401009f8 Version bump 2016-09-26 00:05:13 -04:00
Peter Zignego b837554dcf Delete Package.swift until SPM compatability is restored 2016-09-25 23:54:25 -04:00
Peter Zignego 0ba0e019ae Update README.md 2016-09-25 23:52:53 -04:00
Peter Zignego 8771ef3f0a Update readme 2016-09-25 23:51:32 -04:00
Peter Zignego 71e7238483 Merge branch 'swift3'
# Conflicts:
#	README.md
#	SlackKit/Sources/Action.swift
#	SlackKit/Sources/Response.swift
#	SlackKit/Sources/SlackKit.swift
2016-09-25 20:35:45 -04:00
Peter Zignego b75c10fca6 Merge pull request #53 from pvzig/swift3-GM
Swift 3
2016-09-25 20:31:44 -04:00
Peter Zignego 50f85ac103 Carthage 2016-09-20 00:23:26 -04:00
Peter Zignego a7cbb84b34 Update starscream delegate 2016-09-20 00:23:08 -04:00
Peter Zignego ed6789c9a5 Swift 3 update 2016-09-19 23:59:10 -04:00
Peter Zignego ca444930a4 GM 2016-09-14 21:39:32 -04:00
Peter Zignego 21051864ec Add badges 2016-09-13 00:10:55 -04:00
Peter Zignego 36d1553072 Update README.md 2016-09-12 23:42:17 -04:00
Peter Zignego eb14758846 Add badges 2016-09-12 23:40:48 -04:00
Peter Zignego bf3a5c2422 Merge pull request #47 from hiragram/add-missing-scope
Add MissingScope
2016-08-21 22:40:59 -04:00
Yuya 98fd1342e7 Add MissingScope 2016-08-21 13:38:49 +09:00
Peter Zignego 183ed91cb8 Merge branch 'xcode8b4' into swift3 2016-08-03 22:47:16 -04:00
Peter Zignego c241dcf1df Xcode 8 beta 4 2016-08-03 22:47:03 -04:00
Peter Zignego 8007fa6f0f Include style in Action JSON dictionary 2016-08-02 23:24:12 -04:00
Peter Zignego 7ab973a03b Include style in Action JSON dictionary 2016-08-02 23:21:16 -04:00
Peter Zignego 1889ffeeee Fix callback bug when authing via a provided token 2016-07-26 19:11:26 -04:00
Peter Zignego 987be40c91 Fix callback bug when authing via a token 2016-07-26 19:07:53 -04:00
Peter Zignego df661762a9 Bug fix 2016-07-23 11:09:54 -04:00
468 changed files with 77086 additions and 4789 deletions
+7
View File
@@ -16,6 +16,7 @@ DerivedData
*.hmap
*.ipa
*.xcuserstate
*.DS_Store
# SwiftPM
Packages/
@@ -35,3 +36,9 @@ SlackKit.xcworkspace
# Add this line if you want to avoid checking in source code from Carthage dependencies.
Carthage/Checkouts
Carthage/Build
# Swift Package Manager
.swiftpm/
*.resolved
.vscode
+1 -1
View File
@@ -1 +1 @@
3.0
5.5.2
+7
View File
@@ -0,0 +1,7 @@
disabled_rules:
- identifier_name
- function_parameter_count
line_length: 140
excluded: # paths to ignore during linting. Takes precedence over `included`.
- Carthage
- Pods
+2 -2
View File
@@ -1,2 +1,2 @@
github "https://github.com/pvzig/swifter.git" "master"
github "https://github.com/pvzig/Starscream.git" "swift3"
github "daltoniam/Starscream" == 4.0.4
github "httpswift/swifter" == 1.5.0
-2
View File
@@ -1,2 +0,0 @@
github "pvzig/Starscream" "98d7ccea30621d51a93ee5c155b3f670e37e037b"
github "pvzig/swifter" "8adfae89a6d34cfea1c20d53d8112d1d69e01bd0"
+1
View File
@@ -0,0 +1 @@
github "pvzig/SlackKit"
@@ -0,0 +1,275 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
262F50452259146E00A74EB1 /* Leaderbot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 262F50432259146E00A74EB1 /* Leaderbot.swift */; };
262F50462259146E00A74EB1 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 262F50442259146E00A74EB1 /* main.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
262F50312259139400A74EB1 /* Leaderboard.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Leaderboard.app; sourceTree = BUILT_PRODUCTS_DIR; };
262F50362259139400A74EB1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
262F50432259146E00A74EB1 /* Leaderbot.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Leaderbot.swift; path = Sources/Leaderbot.swift; sourceTree = "<group>"; };
262F50442259146E00A74EB1 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = main.swift; path = Sources/main.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
262F502F2259139400A74EB1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
262F50292259139400A74EB1 = {
isa = PBXGroup;
children = (
262F50332259139400A74EB1 /* Leaderboard */,
262F50322259139400A74EB1 /* Products */,
665E45E1CAEDB17C0745AD28 /* Pods */,
);
sourceTree = "<group>";
};
262F50322259139400A74EB1 /* Products */ = {
isa = PBXGroup;
children = (
262F50312259139400A74EB1 /* Leaderboard.app */,
);
name = Products;
sourceTree = "<group>";
};
262F50332259139400A74EB1 /* Leaderboard */ = {
isa = PBXGroup;
children = (
262F50432259146E00A74EB1 /* Leaderbot.swift */,
262F50442259146E00A74EB1 /* main.swift */,
262F50362259139400A74EB1 /* Info.plist */,
);
path = Leaderboard;
sourceTree = "<group>";
};
665E45E1CAEDB17C0745AD28 /* Pods */ = {
isa = PBXGroup;
children = (
);
path = Pods;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
262F50302259139400A74EB1 /* Leaderboard */ = {
isa = PBXNativeTarget;
buildConfigurationList = 262F50392259139400A74EB1 /* Build configuration list for PBXNativeTarget "Leaderboard" */;
buildPhases = (
262F502E2259139400A74EB1 /* Sources */,
262F502F2259139400A74EB1 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Leaderboard;
productName = Leaderboard;
productReference = 262F50312259139400A74EB1 /* Leaderboard.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
262F502A2259139400A74EB1 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1020;
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "Peter Zignego";
TargetAttributes = {
262F50302259139400A74EB1 = {
CreatedOnToolsVersion = 10.2;
LastSwiftMigration = 1020;
};
};
};
buildConfigurationList = 262F502D2259139400A74EB1 /* Build configuration list for PBXProject "Leaderboard" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 262F50292259139400A74EB1;
productRefGroup = 262F50322259139400A74EB1 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
262F50302259139400A74EB1 /* Leaderboard */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
262F502E2259139400A74EB1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
262F50462259146E00A74EB1 /* main.swift in Sources */,
262F50452259146E00A74EB1 /* Leaderbot.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
262F50372259139400A74EB1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
262F50382259139400A74EB1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
262F503A2259139400A74EB1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/Carthage/Build/Mac\"";
INFOPLIST_FILE = Leaderboard/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.launchsoft.Leaderboard;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
262F503B2259139400A74EB1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/Carthage/Build/Mac\"";
INFOPLIST_FILE = Leaderboard/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.launchsoft.Leaderboard;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
262F502D2259139400A74EB1 /* Build configuration list for PBXProject "Leaderboard" */ = {
isa = XCConfigurationList;
buildConfigurations = (
262F50372259139400A74EB1 /* Debug */,
262F50382259139400A74EB1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
262F50392259139400A74EB1 /* Build configuration list for PBXNativeTarget "Leaderboard" */ = {
isa = XCConfigurationList;
buildConfigurations = (
262F503A2259139400A74EB1 /* Debug */,
262F503B2259139400A74EB1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 262F502A2259139400A74EB1 /* Project object */;
}
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:Leaderboard.xcodeproj">
</FileRef>
</Workspace>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
@@ -13,16 +13,16 @@
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.0.0</string>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2016 Peter Zignego. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string></string>
<string>Copyright © 2019 Peter Zignego. All rights reserved.</string>
</dict>
</plist>
+191
View File
@@ -0,0 +1,191 @@
//
// Leaderboard.swift
//
// Copyright © 2019 Peter Zignego. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import Foundation
import SlackKit
class Leaderbot {
struct Leaderboard {
let teamID: String
var scores = [String: Int]()
init(teamID: String) {
self.teamID = teamID
}
}
enum Command: String {
case leaderboard = "leaderboard"
}
enum Trigger: String {
case plusPlus = "++"
case minusMinus = "--"
}
let slackkit = SlackKit()
var leaderboards = [String: Leaderboard]()
let atSet = CharacterSet(charactersIn: "@")
init(apiToken: String) {
slackkit.addWebAPIAccessWithToken(apiToken)
slackkit.addRTMBotWithAPIToken(apiToken)
slackkit.notificationForEvent(.message) { [weak self] (event, client) in
self?.listen(client?.client, message: event.message)
}
}
init(clientID: String, clientSecret: String) {
let oauthConfig = OAuthConfig(clientID: clientID, clientSecret: clientSecret)
slackkit.addServer(oauth: oauthConfig)
slackkit.notificationForEvent(.message) { [weak self] (event, client) in
self?.listen(client?.client, message: event.message)
}
}
// MARK: Leaderboard Internal Logic
private func listen(_ client: Client?, message: Message?) {
guard let message = message, let text = message.text, let client = client else {
return
}
switch text {
case let text where text.lowercased().contains(Command.leaderboard.rawValue) && text.optionalContains(client.authenticatedUser?.id):
handleCommand(.leaderboard, channel: message.channel, client: client)
case let text where text.contains(Trigger.plusPlus.rawValue):
handleMessageWithTrigger(.plusPlus, message: message, client: client)
case let text where text.contains(Trigger.minusMinus.rawValue):
handleMessageWithTrigger(.minusMinus, message: message, client: client)
default:
break
}
}
private func handleMessageWithTrigger(_ trigger: Trigger, message: Message, client: Client) {
guard
let text = message.text,
let teamID = client.team?.id
else {
return
}
if leaderboards[teamID] == nil { leaderboards[teamID] = Leaderboard(teamID: teamID) }
//Nonusers
searchTextWithExpression("([a-z0-9_\\-\\.]+)[\\+\\-]{2}", text: text, trigger: trigger, teamID: teamID)
//Users
searchTextWithExpression("<@([A-Z0-9_\\-\\.]+)>[\\+\\-]{2}", text: text, trigger: trigger, teamID: teamID)
}
func searchTextWithExpression(_ expression: String, text: String, trigger: Trigger, teamID: String) {
let thingRegex = try? NSRegularExpression(pattern: expression, options: [])
let things = thingRegex?.matches(in: text, options: [], range: NSMakeRange(0, text.utf16.count)) ?? []
for match in things {
let value = String(text[text.range(from: match.range(at: 1))!])
if leaderboards[teamID]?.scores[value] == nil { leaderboards[teamID]?.scores[value] = 0 }
switch trigger {
case .plusPlus:
leaderboards[teamID]?.scores[value]?+=1
case .minusMinus:
leaderboards[teamID]?.scores[value]?-=1
}
}
}
private func handleCommand(_ command: Command, channel:String?, client: Client) {
switch command {
case .leaderboard:
if let id = channel {
slackkit.webAPI?.sendMessage(channel: id,
text: "Here's the leaderboard:",
linkNames: true,
attachments: [constructLeaderboardAttachment(client)],
success: nil,
failure: { (error) in
print("Leaderboard failed to post due to error:\(error)")
})
}
}
}
// MARK: Leaderboard Interface
private func constructLeaderboardAttachment(_ client: Client) -> Attachment? {
guard let teamID = client.team?.id, let leaderboard = leaderboards[teamID] else {
return nil
}
let top = AttachmentField(title: ":100:", value: swapIDsForNames(client, string: topItems(leaderboard)), short: true)
let bottom = AttachmentField(title: ":poop:", value: swapIDsForNames(client, string: bottomItems(leaderboard)), short: true)
return Attachment(fallback: "Leaderboard", title: "Leaderboard", colorHex: AttachmentColor.good.rawValue, text: "", fields: [top, bottom])
}
private func topItems(_ leaderboard: Leaderboard) -> String {
let sortedKeys = Array(leaderboard.scores.keys).sorted(by: {leaderboard.scores[$0]! > leaderboard.scores[$1]!}).filter({leaderboard.scores[$0]! > 0})
let sortedValues = Array(leaderboard.scores.values).sorted(by: {$0 > $1}).filter({$0 > 0})
return leaderboardString(sortedKeys, values: sortedValues)
}
private func bottomItems(_ leaderboard: Leaderboard) -> String {
let sortedKeys = Array(leaderboard.scores.keys).sorted(by: {leaderboard.scores[$0]! < leaderboard.scores[$1]!}).filter({leaderboard.scores[$0]! < 0})
let sortedValues = Array(leaderboard.scores.values).sorted(by: {$0 < $1}).filter({$0 < 0})
return leaderboardString(sortedKeys, values: sortedValues)
}
private func leaderboardString(_ keys: [String], values: [Int]) -> String {
var returnValue = ""
for i in 0..<values.count {
returnValue += keys[i] + " (" + "\(values[i])" + ")\n"
}
return returnValue
}
// MARK: - Utilities
private func swapIDsForNames(_ client: Client, string: String) -> String {
var returnString = string
for key in client.users.keys {
if let name = client.users[key]?.name {
returnString = returnString.replacingOccurrences(of: key, with: "@"+name, options: NSString.CompareOptions.literal, range: returnString.startIndex..<returnString.endIndex)
}
}
return returnString
}
}
extension String {
func optionalContains(_ string: String?) -> Bool {
guard let str = string else {
return false
}
return self.contains(str)
}
}
extension String {
func range(from nsRange: NSRange) -> Range<String.Index>? {
guard
let from16 = utf16.index(utf16.startIndex, offsetBy: nsRange.location, limitedBy: utf16.endIndex),
let to16 = utf16.index(from16, offsetBy: nsRange.length, limitedBy: utf16.endIndex),
let from = from16.samePosition(in: self),
let to = to16.samePosition(in: self)
else { return nil }
return from ..< to
}
}
+8
View File
@@ -0,0 +1,8 @@
import Foundation
//With OAuth
//let bot = Leaderbot(clientID: "CLIENT_ID", clientSecret: "CLIENT_SECRET")
//With API token
let bot = Leaderbot(apiToken: "xoxb-SLACK_BOT_TOKEN")
RunLoop.main.run()
+18
View File
@@ -0,0 +1,18 @@
// swift-tools-version:4.2
import PackageDescription
let package = Package(
name: "Leaderboard",
products: [
.executable(name: "Leaderboard", targets: ["Leaderboard"]),
],
dependencies: [
.package(url: "https://github.com/pvzig/SlackKit", .upToNextMinor(from: "4.6.0"))
],
targets: [
.target(name: "Leaderboard",
dependencies: ["SlackKit"],
path: "Leaderboard/Sources")
]
)
+5
View File
@@ -0,0 +1,5 @@
platform :osx, '10.11'
target 'Leaderboard' do
pod 'SlackKit', '>= 4.6.0'
end
+1
View File
@@ -0,0 +1 @@
github "pvzig/SlackKit"
+18
View File
@@ -0,0 +1,18 @@
// swift-tools-version:4.2
import PackageDescription
let package = Package(
name: "Robot or Not Bot",
products: [
.executable(name: "Robot or Not Bot", targets: ["Robot or Not Bot"]),
],
dependencies: [
.package(url: "https://github.com/pvzig/SlackKit", .upToNextMinor(from: "4.6.0"))
],
targets: [
.target(name: "Robot or Not Bot",
dependencies: ["SlackKit"],
path: "Robot or Not Bot/Sources")
]
)
+6
View File
@@ -0,0 +1,6 @@
platform :osx, '10.11'
target 'Robot Or Not Bot' do
pod 'SlackKit', '>= 4.6.0'
end
@@ -0,0 +1,263 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
262F505D22591A9000A74EB1 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 262F505C22591A9000A74EB1 /* main.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
262F504F225919E200A74EB1 /* Robot Or Not Bot.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Robot Or Not Bot.app"; sourceTree = BUILT_PRODUCTS_DIR; };
262F5054225919E200A74EB1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
262F505C22591A9000A74EB1 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = main.swift; path = Sources/main.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
262F504D225919E200A74EB1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
262F5047225919E200A74EB1 = {
isa = PBXGroup;
children = (
262F5051225919E200A74EB1 /* Robot Or Not Bot */,
262F5050225919E200A74EB1 /* Products */,
);
sourceTree = "<group>";
};
262F5050225919E200A74EB1 /* Products */ = {
isa = PBXGroup;
children = (
262F504F225919E200A74EB1 /* Robot Or Not Bot.app */,
);
name = Products;
sourceTree = "<group>";
};
262F5051225919E200A74EB1 /* Robot Or Not Bot */ = {
isa = PBXGroup;
children = (
262F505C22591A9000A74EB1 /* main.swift */,
262F5054225919E200A74EB1 /* Info.plist */,
);
path = "Robot Or Not Bot";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
262F504E225919E200A74EB1 /* Robot Or Not Bot */ = {
isa = PBXNativeTarget;
buildConfigurationList = 262F5057225919E200A74EB1 /* Build configuration list for PBXNativeTarget "Robot Or Not Bot" */;
buildPhases = (
262F504C225919E200A74EB1 /* Sources */,
262F504D225919E200A74EB1 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "Robot Or Not Bot";
productName = "Robot Or Not Bot";
productReference = 262F504F225919E200A74EB1 /* Robot Or Not Bot.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
262F5048225919E200A74EB1 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1020;
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "Peter Zignego";
TargetAttributes = {
262F504E225919E200A74EB1 = {
CreatedOnToolsVersion = 10.2;
LastSwiftMigration = 1020;
};
};
};
buildConfigurationList = 262F504B225919E200A74EB1 /* Build configuration list for PBXProject "Robot Or Not Bot" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 262F5047225919E200A74EB1;
productRefGroup = 262F5050225919E200A74EB1 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
262F504E225919E200A74EB1 /* Robot Or Not Bot */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
262F504C225919E200A74EB1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
262F505D22591A9000A74EB1 /* main.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
262F5055225919E200A74EB1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
262F5056225919E200A74EB1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
262F5058225919E200A74EB1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/Carthage/Build/Mac\"";
INFOPLIST_FILE = "Robot Or Not Bot/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.launchsoft.Robot-Or-Not-Bot";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
262F5059225919E200A74EB1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = "";
FRAMEWORK_SEARCH_PATHS = "\"$(SRCROOT)/Carthage/Build/Mac\"";
INFOPLIST_FILE = "Robot Or Not Bot/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.launchsoft.Robot-Or-Not-Bot";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
262F504B225919E200A74EB1 /* Build configuration list for PBXProject "Robot Or Not Bot" */ = {
isa = XCConfigurationList;
buildConfigurations = (
262F5055225919E200A74EB1 /* Debug */,
262F5056225919E200A74EB1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
262F5057225919E200A74EB1 /* Build configuration list for PBXNativeTarget "Robot Or Not Bot" */ = {
isa = XCConfigurationList;
buildConfigurations = (
262F5058225919E200A74EB1 /* Debug */,
262F5059225919E200A74EB1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 262F5048225919E200A74EB1 /* Project object */;
}
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:Robot Or Not Bot.xcodeproj">
</FileRef>
</Workspace>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
@@ -13,16 +13,16 @@
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>2.0.0</string>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2016 Peter Zignego. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string></string>
<string>Copyright © 2019 Peter Zignego. All rights reserved.</string>
</dict>
</plist>
@@ -0,0 +1,135 @@
import Foundation
import SlackKit
class RobotOrNotBot {
let verdicts: [String:Bool] = [
"Mr. Roboto" : false,
"Service Kiosks": false,
"Darth Vader": false,
"K-9": true,
"Emotions": false,
"Self-Driving Cars": false,
"Telepresence Robots": false,
"Roomba": true,
"Assembly-Line Robot": false,
"ASIMO": false,
"KITT": false,
"USS Enterprise": false,
"Transformers": true,
"Jaegers": false,
"The Major": false,
"Siri": false,
"The Terminator": true,
"Commander Data": false,
"Marvin the Paranoid Android": true,
"Pinocchio": false,
"Droids": true,
"Hitchbot": false,
"Mars Rovers": false,
"Space Probes": false,
"Sasquatch": false,
"Toaster": false,
"Toaster Oven": false,
"Cylons": false,
"V'ger": true,
"Ilia Robot": false,
"The TARDIS": false,
"Johnny 5": true,
"Twiki": true,
"Dr. Theopolis": false,
"robots.txt": false,
"Lobot": false,
"Vicki": true,
"GlaDOS": false,
"Turrets": true,
"Wheatley": true,
"Herbie the Love Bug": false,
"Iron Man": false,
"Ultron": false,
"The Vision": false,
"Clockwork Droids": false,
"Podcasts": false,
"Cars": false,
"Swimming Pool Cleaners": false,
"Burritos": false,
"Prince Robot IV": false,
"Daleks": false,
"Cybermen": false,
"The Internet of Things": false,
"Nanobots": true,
"Two Intermeshed Gears": false,
"Crow T. Robot": true,
"Tom Servo": true,
"Thomas and Friends": false,
"Replicants": false,
"Chatbots": false,
"Agents": false,
"Lego Simulated Worm Toy": true,
"Ghosts": false,
"Exos": true,
"Rasputin": false,
"Tamagotchi": false,
"T-1000": true,
"The Tin Woodman": false,
"Mic N. The Robot": true,
"Robot Or Not Bot": false
]
let bot: SlackKit
init(token: String) {
bot = SlackKit()
bot.addRTMBotWithAPIToken(token)
bot.addWebAPIAccessWithToken(token)
bot.notificationForEvent(.message) { [weak self] (event, connection) in
guard
let message = event.message,
let id = connection?.client?.authenticatedUser?.id,
message.text?.contains(id) == true
else {
return
}
self?.handleMessage(message)
}
}
init(clientID: String, clientSecret: String) {
bot = SlackKit()
let oauthConfig = OAuthConfig(clientID: clientID, clientSecret: clientSecret)
bot.addServer(oauth: oauthConfig)
bot.notificationForEvent(.message) { [weak self] (event, connection) in
guard
let message = event.message,
let id = connection?.client?.authenticatedUser?.id,
message.text?.contains(id) == true
else {
return
}
self?.handleMessage(message)
}
}
// MARK: Bot logic
private func handleMessage(_ message: Message) {
if let text = message.text?.lowercased(), let channel = message.channel {
for (robot, verdict) in verdicts {
let lowerbot = robot.lowercased()
if text.contains(lowerbot) {
let reaction = verdict ? "robot_face" : "no_entry_sign"
bot.webAPI?.addReactionToMessage(name: reaction, channel: channel, timestamp: message.ts!, success: nil, failure: nil)
return
}
}
// Not found
bot.webAPI?.addReactionToMessage(name: "question", channel: channel, timestamp: message.ts!, success: nil, failure: nil)
return
}
}
}
// With API token
let slackbot = RobotOrNotBot(token: "xoxb-SLACK_API_TOKEN")
// With OAuth
// let slackbot = RobotOrNotBot(clientID: "CLIENT_ID", clientSecret: "CLIENT_SECRET")
RunLoop.main.run()
@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key>
<string>tvos-arm64</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
</dict>
<dict>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key>
<string>watchos-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>watchos</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key>
<string>tvos-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_armv7</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>armv7</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_i386_x86_64-simulator</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>i386</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BitcodeSymbolMapsPath</key>
<string>BCSymbolMaps</string>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key>
<string>watchos-arm64_32_armv7k</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64_32</string>
<string>armv7k</string>
</array>
<key>SupportedPlatform</key>
<string>watchos</string>
</dict>
<dict>
<key>DebugSymbolsPath</key>
<string>dSYMs</string>
<key>LibraryIdentifier</key>
<string>macos-arm64_x86_64</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>macos</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
@@ -0,0 +1,472 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
#ifndef STARSCREAM_SWIFT_H
#define STARSCREAM_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import Foundation;
@import ObjectiveC;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
@class NSStream;
SWIFT_CLASS("_TtC10Starscream19FoundationTransport")
@interface FoundationTransport : NSObject <NSStreamDelegate>
- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class NSURLSession;
@class NSURLSessionWebSocketTask;
SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15)
@interface NativeEngine : NSObject <NSURLSessionDataDelegate, NSURLSessionWebSocketDelegate>
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol;
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__
// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
#ifndef STARSCREAM_SWIFT_H
#define STARSCREAM_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import Foundation;
@import ObjectiveC;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
@class NSStream;
SWIFT_CLASS("_TtC10Starscream19FoundationTransport")
@interface FoundationTransport : NSObject <NSStreamDelegate>
- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class NSURLSession;
@class NSURLSessionWebSocketTask;
SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15)
@interface NativeEngine : NSObject <NSURLSessionDataDelegate, NSURLSessionWebSocketDelegate>
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol;
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#endif
@@ -0,0 +1,19 @@
//
// Starscream.h
// Starscream
//
// Created by Austin Cherry on 9/25/14.
// Copyright (c) 2014 Vluxe. All rights reserved.
//
#import <Foundation/Foundation.h>
//! Project version number for Starscream.
FOUNDATION_EXPORT double StarscreamVersionNumber;
//! Project version string for Starscream.
FOUNDATION_EXPORT const unsigned char StarscreamVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Starscream/PublicHeader.h>
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target armv7-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target arm64-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target arm64-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target armv7-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target armv7-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,11 @@
framework module Starscream {
umbrella header "Starscream.h"
export *
module * { export * }
}
module Starscream.Swift {
header "Starscream-Swift.h"
requires objc
}
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.com.vluxe.Starscream</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>4.0.4</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
@@ -0,0 +1,707 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
#ifndef STARSCREAM_SWIFT_H
#define STARSCREAM_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import Foundation;
@import ObjectiveC;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
@class NSStream;
SWIFT_CLASS("_TtC10Starscream19FoundationTransport")
@interface FoundationTransport : NSObject <NSStreamDelegate>
- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class NSURLSession;
@class NSURLSessionWebSocketTask;
SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15)
@interface NativeEngine : NSObject <NSURLSessionDataDelegate, NSURLSessionWebSocketDelegate>
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol;
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
#ifndef STARSCREAM_SWIFT_H
#define STARSCREAM_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import Foundation;
@import ObjectiveC;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
@class NSStream;
SWIFT_CLASS("_TtC10Starscream19FoundationTransport")
@interface FoundationTransport : NSObject <NSStreamDelegate>
- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class NSURLSession;
@class NSURLSessionWebSocketTask;
SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15)
@interface NativeEngine : NSObject <NSURLSessionDataDelegate, NSURLSessionWebSocketDelegate>
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol;
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#elif defined(__i386__) && __i386__
// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
#ifndef STARSCREAM_SWIFT_H
#define STARSCREAM_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import Foundation;
@import ObjectiveC;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
@class NSStream;
SWIFT_CLASS("_TtC10Starscream19FoundationTransport")
@interface FoundationTransport : NSObject <NSStreamDelegate>
- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class NSURLSession;
@class NSURLSessionWebSocketTask;
SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15)
@interface NativeEngine : NSObject <NSURLSessionDataDelegate, NSURLSessionWebSocketDelegate>
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol;
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#endif
@@ -0,0 +1,19 @@
//
// Starscream.h
// Starscream
//
// Created by Austin Cherry on 9/25/14.
// Copyright (c) 2014 Vluxe. All rights reserved.
//
#import <Foundation/Foundation.h>
//! Project version number for Starscream.
FOUNDATION_EXPORT double StarscreamVersionNumber;
//! Project version string for Starscream.
FOUNDATION_EXPORT const unsigned char StarscreamVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Starscream/PublicHeader.h>
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target arm64-apple-ios9.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target arm64-apple-ios9.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target i386-apple-ios9.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target i386-apple-ios9.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target x86_64-apple-ios9.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target x86_64-apple-ios9.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,11 @@
framework module Starscream {
umbrella header "Starscream.h"
export *
module * { export * }
}
module Starscream.Swift {
header "Starscream-Swift.h"
requires objc
}
@@ -0,0 +1,507 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Headers/Starscream-Swift.h</key>
<data>
UKOsbhMVmAOEUiIn77lJZq72iTs=
</data>
<key>Headers/Starscream.h</key>
<data>
bIF/9oSljUDPWlbHwEoxEPdpaHo=
</data>
<key>Info.plist</key>
<data>
F5TVUKxa+9wOa9SEwJVulSppoQg=
</data>
<key>Modules/Starscream.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo</key>
<data>
BvhU5gKmxQEik9SdDqeT682gOGM=
</data>
<key>Modules/Starscream.swiftmodule/Project/arm64.swiftsourceinfo</key>
<data>
BvhU5gKmxQEik9SdDqeT682gOGM=
</data>
<key>Modules/Starscream.swiftmodule/Project/i386-apple-ios-simulator.swiftsourceinfo</key>
<data>
4LX57/xDGa8yW9sb3fTe96m+mfc=
</data>
<key>Modules/Starscream.swiftmodule/Project/i386.swiftsourceinfo</key>
<data>
4LX57/xDGa8yW9sb3fTe96m+mfc=
</data>
<key>Modules/Starscream.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
<data>
rZxdLzC+UsIJyk4nWxkYZQ7Kex0=
</data>
<key>Modules/Starscream.swiftmodule/Project/x86_64.swiftsourceinfo</key>
<data>
rZxdLzC+UsIJyk4nWxkYZQ7Kex0=
</data>
<key>Modules/Starscream.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<data>
yg7ccFWTG2RECtwAn0ZT3E8g28o=
</data>
<key>Modules/Starscream.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<data>
p1b6MKKTXPjxb3eUqqxQbRD4jZs=
</data>
<key>Modules/Starscream.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data>
sWtFS0pMlVB/oNsM/1Y3F1Mua1o=
</data>
<key>Modules/Starscream.swiftmodule/arm64.swiftdoc</key>
<data>
yg7ccFWTG2RECtwAn0ZT3E8g28o=
</data>
<key>Modules/Starscream.swiftmodule/arm64.swiftinterface</key>
<data>
p1b6MKKTXPjxb3eUqqxQbRD4jZs=
</data>
<key>Modules/Starscream.swiftmodule/arm64.swiftmodule</key>
<data>
sWtFS0pMlVB/oNsM/1Y3F1Mua1o=
</data>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftdoc</key>
<data>
+HjnjK6bFP/cthGRm9KAGG+a5tE=
</data>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftinterface</key>
<data>
Vyv4/VkiF9KJF/b1vDZIalPpsJA=
</data>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftmodule</key>
<data>
YxthTo3bZtRyrufLDmckd42RGsw=
</data>
<key>Modules/Starscream.swiftmodule/i386.swiftdoc</key>
<data>
+HjnjK6bFP/cthGRm9KAGG+a5tE=
</data>
<key>Modules/Starscream.swiftmodule/i386.swiftinterface</key>
<data>
Vyv4/VkiF9KJF/b1vDZIalPpsJA=
</data>
<key>Modules/Starscream.swiftmodule/i386.swiftmodule</key>
<data>
YxthTo3bZtRyrufLDmckd42RGsw=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<data>
gmlidh+4mYyRgrsxIMVauPOcCJk=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<data>
SbdP7eTGvE+52uglUZ+IefzGpBc=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
40M2UBgdfdSQweuXsSRw+vVFHPo=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftdoc</key>
<data>
gmlidh+4mYyRgrsxIMVauPOcCJk=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftinterface</key>
<data>
SbdP7eTGvE+52uglUZ+IefzGpBc=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftmodule</key>
<data>
40M2UBgdfdSQweuXsSRw+vVFHPo=
</data>
<key>Modules/module.modulemap</key>
<data>
sr9DR7cNfv/8frVUIbBLPHCc60g=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/Starscream-Swift.h</key>
<dict>
<key>hash</key>
<data>
UKOsbhMVmAOEUiIn77lJZq72iTs=
</data>
<key>hash2</key>
<data>
MY+PsOCTyvq/OnT9n4YmVwZfVifGfHI0vGySEUVBM3Q=
</data>
</dict>
<key>Headers/Starscream.h</key>
<dict>
<key>hash</key>
<data>
bIF/9oSljUDPWlbHwEoxEPdpaHo=
</data>
<key>hash2</key>
<data>
uDB1F1BYBSS///5Kx3sW3b25gGjxudlItQDs2UvmKGE=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo</key>
<dict>
<key>hash</key>
<data>
BvhU5gKmxQEik9SdDqeT682gOGM=
</data>
<key>hash2</key>
<data>
ioHp8jbtv0cCEs5tkVle85195JLf8gKOJDADz64nm4E=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/Project/arm64.swiftsourceinfo</key>
<dict>
<key>hash</key>
<data>
BvhU5gKmxQEik9SdDqeT682gOGM=
</data>
<key>hash2</key>
<data>
ioHp8jbtv0cCEs5tkVle85195JLf8gKOJDADz64nm4E=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/Project/i386-apple-ios-simulator.swiftsourceinfo</key>
<dict>
<key>hash</key>
<data>
4LX57/xDGa8yW9sb3fTe96m+mfc=
</data>
<key>hash2</key>
<data>
SILQ35SFGdKLgR6IEYHRQu/alxRp+fi5xl+Qa9cVVYo=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/Project/i386.swiftsourceinfo</key>
<dict>
<key>hash</key>
<data>
4LX57/xDGa8yW9sb3fTe96m+mfc=
</data>
<key>hash2</key>
<data>
SILQ35SFGdKLgR6IEYHRQu/alxRp+fi5xl+Qa9cVVYo=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo</key>
<dict>
<key>hash</key>
<data>
rZxdLzC+UsIJyk4nWxkYZQ7Kex0=
</data>
<key>hash2</key>
<data>
omQAHBAsK03j6tacXDwe8vLwQD9NKHwqO3OnAgxGRPA=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/Project/x86_64.swiftsourceinfo</key>
<dict>
<key>hash</key>
<data>
rZxdLzC+UsIJyk4nWxkYZQ7Kex0=
</data>
<key>hash2</key>
<data>
omQAHBAsK03j6tacXDwe8vLwQD9NKHwqO3OnAgxGRPA=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash</key>
<data>
yg7ccFWTG2RECtwAn0ZT3E8g28o=
</data>
<key>hash2</key>
<data>
yvCahYQDzHCVplyFoan//v8oTp/j5tQXVDu7EHxH5+I=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash</key>
<data>
p1b6MKKTXPjxb3eUqqxQbRD4jZs=
</data>
<key>hash2</key>
<data>
X1md/r9jZ/CcL2pWNUxhKPHxFPFdAGIlPvD9DA5I6Rs=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
sWtFS0pMlVB/oNsM/1Y3F1Mua1o=
</data>
<key>hash2</key>
<data>
bFD/N3vklOKYjbDfOYFyTEr7F459jo3LbYrS4SZxrAM=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/arm64.swiftdoc</key>
<dict>
<key>hash</key>
<data>
yg7ccFWTG2RECtwAn0ZT3E8g28o=
</data>
<key>hash2</key>
<data>
yvCahYQDzHCVplyFoan//v8oTp/j5tQXVDu7EHxH5+I=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/arm64.swiftinterface</key>
<dict>
<key>hash</key>
<data>
p1b6MKKTXPjxb3eUqqxQbRD4jZs=
</data>
<key>hash2</key>
<data>
X1md/r9jZ/CcL2pWNUxhKPHxFPFdAGIlPvD9DA5I6Rs=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/arm64.swiftmodule</key>
<dict>
<key>hash</key>
<data>
sWtFS0pMlVB/oNsM/1Y3F1Mua1o=
</data>
<key>hash2</key>
<data>
bFD/N3vklOKYjbDfOYFyTEr7F459jo3LbYrS4SZxrAM=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash</key>
<data>
+HjnjK6bFP/cthGRm9KAGG+a5tE=
</data>
<key>hash2</key>
<data>
up5XDlgzU1SsyCYDJod6k/BTI9e9U/JX/vnsAk97JWM=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash</key>
<data>
Vyv4/VkiF9KJF/b1vDZIalPpsJA=
</data>
<key>hash2</key>
<data>
+ud34Zd2eqZ+J0jmKXhVeSlYWuCV2tdWBltKnBiLUj0=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
YxthTo3bZtRyrufLDmckd42RGsw=
</data>
<key>hash2</key>
<data>
oHZPSn+o9tX7V1aPCap+60echzdWMVOhw9kkTXJDLOc=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386.swiftdoc</key>
<dict>
<key>hash</key>
<data>
+HjnjK6bFP/cthGRm9KAGG+a5tE=
</data>
<key>hash2</key>
<data>
up5XDlgzU1SsyCYDJod6k/BTI9e9U/JX/vnsAk97JWM=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386.swiftinterface</key>
<dict>
<key>hash</key>
<data>
Vyv4/VkiF9KJF/b1vDZIalPpsJA=
</data>
<key>hash2</key>
<data>
+ud34Zd2eqZ+J0jmKXhVeSlYWuCV2tdWBltKnBiLUj0=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386.swiftmodule</key>
<dict>
<key>hash</key>
<data>
YxthTo3bZtRyrufLDmckd42RGsw=
</data>
<key>hash2</key>
<data>
oHZPSn+o9tX7V1aPCap+60echzdWMVOhw9kkTXJDLOc=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash</key>
<data>
gmlidh+4mYyRgrsxIMVauPOcCJk=
</data>
<key>hash2</key>
<data>
RGTXPuxxV1p3aLuTSfTVuBWh5ugBb6Ehz9vypo+LfO8=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash</key>
<data>
SbdP7eTGvE+52uglUZ+IefzGpBc=
</data>
<key>hash2</key>
<data>
vHWpbnWpTMOOAUg0gaqttdhUBcybTe77dM5ouIoyMgc=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
40M2UBgdfdSQweuXsSRw+vVFHPo=
</data>
<key>hash2</key>
<data>
pzAriO6ga7OG1je1b4cmWNI1ChzjfEO4AkELrw5OcEM=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftdoc</key>
<dict>
<key>hash</key>
<data>
gmlidh+4mYyRgrsxIMVauPOcCJk=
</data>
<key>hash2</key>
<data>
RGTXPuxxV1p3aLuTSfTVuBWh5ugBb6Ehz9vypo+LfO8=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftinterface</key>
<dict>
<key>hash</key>
<data>
SbdP7eTGvE+52uglUZ+IefzGpBc=
</data>
<key>hash2</key>
<data>
vHWpbnWpTMOOAUg0gaqttdhUBcybTe77dM5ouIoyMgc=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftmodule</key>
<dict>
<key>hash</key>
<data>
40M2UBgdfdSQweuXsSRw+vVFHPo=
</data>
<key>hash2</key>
<data>
pzAriO6ga7OG1je1b4cmWNI1ChzjfEO4AkELrw5OcEM=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash</key>
<data>
sr9DR7cNfv/8frVUIbBLPHCc60g=
</data>
<key>hash2</key>
<data>
nYTs/q5E5rMtj3rXmqMuzZYThSlmu615k3gwB/Evs/I=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.com.vluxe.Starscream</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>4.0.4</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
@@ -0,0 +1 @@
Versions/Current/Headers
@@ -0,0 +1 @@
Versions/Current/Modules
@@ -0,0 +1 @@
Versions/Current/Resources
@@ -0,0 +1 @@
Versions/Current/Starscream
@@ -0,0 +1,472 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
#ifndef STARSCREAM_SWIFT_H
#define STARSCREAM_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import Foundation;
@import ObjectiveC;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
@class NSStream;
SWIFT_CLASS("_TtC10Starscream19FoundationTransport")
@interface FoundationTransport : NSObject <NSStreamDelegate>
- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class NSURLSession;
@class NSURLSessionWebSocketTask;
SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15)
@interface NativeEngine : NSObject <NSURLSessionDataDelegate, NSURLSessionWebSocketDelegate>
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol;
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
#ifndef STARSCREAM_SWIFT_H
#define STARSCREAM_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#include <Foundation/Foundation.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import Foundation;
@import ObjectiveC;
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
@class NSStream;
SWIFT_CLASS("_TtC10Starscream19FoundationTransport")
@interface FoundationTransport : NSObject <NSStreamDelegate>
- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@class NSURLSession;
@class NSURLSessionWebSocketTask;
SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15)
@interface NativeEngine : NSObject <NSURLSessionDataDelegate, NSURLSessionWebSocketDelegate>
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol;
- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#endif
@@ -0,0 +1,19 @@
//
// Starscream.h
// Starscream
//
// Created by Austin Cherry on 9/25/14.
// Copyright (c) 2014 Vluxe. All rights reserved.
//
#import <Foundation/Foundation.h>
//! Project version number for Starscream.
FOUNDATION_EXPORT double StarscreamVersionNumber;
//! Project version string for Starscream.
FOUNDATION_EXPORT const unsigned char StarscreamVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <Starscream/PublicHeader.h>
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target arm64-apple-macos10.10 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target arm64-apple-macos10.10 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target x86_64-apple-macos10.10 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,436 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
// swift-module-flags: -target x86_64-apple-macos10.10 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Starscream
import CommonCrypto
import Foundation
import Network
@_exported import Starscream
import Swift
import zlib
public enum HTTPUpgradeError : Swift.Error {
case notAnUpgrade(Swift.Int)
case invalidData
}
public struct HTTPWSHeader {
public static func createUpgrade(request: Foundation.URLRequest, supportsCompression: Swift.Bool, secKeyValue: Swift.String) -> Foundation.URLRequest
public static func generateWebSocketKey() -> Swift.String
}
public enum HTTPEvent {
case success([Swift.String : Swift.String])
case failure(Swift.Error)
}
public protocol HTTPHandlerDelegate : AnyObject {
func didReceiveHTTP(event: Starscream.HTTPEvent)
}
public protocol HTTPHandler {
func register(delegate: Starscream.HTTPHandlerDelegate)
func convert(request: Foundation.URLRequest) -> Foundation.Data
func parse(data: Foundation.Data) -> Swift.Int
}
public protocol HTTPServerDelegate : AnyObject {
func didReceive(event: Starscream.HTTPEvent)
}
public protocol HTTPServerHandler {
func register(delegate: Starscream.HTTPServerDelegate)
func parse(data: Foundation.Data)
func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
}
public struct URLParts {
}
extension URL {
public var isTLSScheme: Swift.Bool {
get
}
public func getParts() -> Starscream.URLParts?
}
public protocol FrameCollectorDelegate : AnyObject {
func didForm(event: Starscream.FrameCollector.Event)
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
}
@_hasMissingDesignatedInitializers public class FrameCollector {
public enum Event {
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
case closed(Swift.String, Swift.UInt16)
}
public func add(frame: Starscream.Frame)
@objc deinit
}
public enum SecurityErrorCode : Swift.UInt16 {
case acceptFailed
case pinningFailed
public typealias RawValue = Swift.UInt16
public init?(rawValue: Swift.UInt16)
public var rawValue: Swift.UInt16 {
get
}
}
public enum PinningState {
case success
case failed(CoreFoundation.CFError?)
}
public protocol CertificatePinning : AnyObject {
func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
public protocol HeaderValidator : AnyObject {
func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum TCPTransportError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.TCPTransportError, b: Starscream.TCPTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class TCPTransport : Starscream.Transport {
public var usingTLS: Swift.Bool {
get
}
public init(connection: Network.NWConnection)
public init()
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc deinit
}
public enum FoundationSecurityError : Swift.Error {
case invalidRequest
public static func == (a: Starscream.FoundationSecurityError, b: Starscream.FoundationSecurityError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public class FoundationSecurity {
public init(allowSelfSigned: Swift.Bool = false)
@objc deinit
}
extension FoundationSecurity : Starscream.CertificatePinning {
public func evaluateTrust(trust: Security.SecTrust, domain: Swift.String?, completion: ((Starscream.PinningState) -> ()))
}
extension FoundationSecurity : Starscream.HeaderValidator {
public func validate(headers: [Swift.String : Swift.String], key: Swift.String) -> Swift.Error?
}
public enum FoundationTransportError : Swift.Error {
case invalidRequest
case invalidOutputStream
case timeout
public static func == (a: Starscream.FoundationTransportError, b: Starscream.FoundationTransportError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@objc public class FoundationTransport : ObjectiveC.NSObject, Starscream.Transport, Foundation.StreamDelegate {
public var usingTLS: Swift.Bool {
get
}
public init(streamConfiguration: ((Foundation.InputStream, Foundation.OutputStream) -> Swift.Void)? = nil)
@objc deinit
public func connect(url: Foundation.URL, timeout: Swift.Double = 10, certificatePinning: Starscream.CertificatePinning? = nil)
public func disconnect()
public func register(delegate: Starscream.TransportEventClient)
public func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
@objc open func stream(_ aStream: Foundation.Stream, handle eventCode: Foundation.Stream.Event)
@objc override dynamic public init()
}
public enum ErrorType : Swift.Error {
case compressionError
case securityError
case protocolError
case serverError
public static func == (a: Starscream.ErrorType, b: Starscream.ErrorType) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public struct WSError : Swift.Error {
public let type: Starscream.ErrorType
public let message: Swift.String
public let code: Swift.UInt16
public init(type: Starscream.ErrorType, message: Swift.String, code: Swift.UInt16)
}
public protocol WebSocketClient : AnyObject {
func connect()
func disconnect(closeCode: Swift.UInt16)
func write(string: Swift.String, completion: (() -> ())?)
func write(stringData: Foundation.Data, completion: (() -> ())?)
func write(data: Foundation.Data, completion: (() -> ())?)
func write(ping: Foundation.Data, completion: (() -> ())?)
func write(pong: Foundation.Data, completion: (() -> ())?)
}
extension WebSocketClient {
public func write(string: Swift.String)
public func write(data: Foundation.Data)
public func write(ping: Foundation.Data)
public func write(pong: Foundation.Data)
public func disconnect()
}
public enum WebSocketEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error?)
case viabilityChanged(Swift.Bool)
case reconnectSuggested(Swift.Bool)
case cancelled
}
public protocol WebSocketDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocket)
}
open class WebSocket : Starscream.WebSocketClient, Starscream.EngineDelegate {
weak public var delegate: Starscream.WebSocketDelegate?
public var onEvent: ((Starscream.WebSocketEvent) -> Swift.Void)?
public var request: Foundation.URLRequest
public var callbackQueue: Dispatch.DispatchQueue
public var respondToPingWithPong: Swift.Bool {
get
set
}
public init(request: Foundation.URLRequest, engine: Starscream.Engine)
convenience public init(request: Foundation.URLRequest, certPinner: Starscream.CertificatePinning? = FoundationSecurity(), compressionHandler: Starscream.CompressionHandler? = nil, useCustomEngine: Swift.Bool = true)
public func connect()
public func disconnect(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceDisconnect()
public func write(data: Foundation.Data, completion: (() -> ())?)
public func write(string: Swift.String, completion: (() -> ())?)
public func write(stringData: Foundation.Data, completion: (() -> ())?)
public func write(ping: Foundation.Data, completion: (() -> ())?)
public func write(pong: Foundation.Data, completion: (() -> ())?)
public func didReceive(event: Starscream.WebSocketEvent)
@objc deinit
}
public class StringHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
public protocol EngineDelegate : AnyObject {
func didReceive(event: Starscream.WebSocketEvent)
}
public protocol Engine {
func register(delegate: Starscream.EngineDelegate)
func start(request: Foundation.URLRequest)
func stop(closeCode: Swift.UInt16)
func forceStop()
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
func write(string: Swift.String, completion: (() -> ())?)
}
public enum CloseCode : Swift.UInt16 {
case normal
case goingAway
case protocolError
case protocolUnhandledType
case noStatusReceived
case encoding
case policyViolated
case messageTooBig
public typealias RawValue = Swift.UInt16
public var rawValue: Swift.UInt16 {
get
}
public init?(rawValue: Swift.UInt16)
}
public enum FrameOpCode : Swift.UInt8 {
case continueFrame
case textFrame
case binaryFrame
case connectionClose
case ping
case pong
case unknown
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public struct Frame {
}
public enum FrameEvent {
case frame(Starscream.Frame)
case error(Swift.Error)
}
public protocol FramerEventClient : AnyObject {
func frameProcessed(event: Starscream.FrameEvent)
}
public protocol Framer {
func add(data: Foundation.Data)
func register(delegate: Starscream.FramerEventClient)
func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
func updateCompression(supports: Swift.Bool)
func supportsCompression() -> Swift.Bool
}
public class WSFramer : Starscream.Framer {
public var compressionEnabled: Swift.Bool
public init(isServer: Swift.Bool = false)
public func updateCompression(supports: Swift.Bool)
public func supportsCompression() -> Swift.Bool
public func add(data: Foundation.Data)
public func register(delegate: Starscream.FramerEventClient)
public func createWriteFrame(opcode: Starscream.FrameOpCode, payload: Foundation.Data, isCompressed: Swift.Bool) -> Foundation.Data
@objc deinit
}
public protocol MyWSArrayType {
}
extension UInt8 : Starscream.MyWSArrayType {
}
extension Array where Element : Starscream.MyWSArrayType, Element : Swift.UnsignedInteger {
public func readUint16(offset: Swift.Int) -> Swift.UInt16
public func readUint64(offset: Swift.Int) -> Swift.UInt64
public func unmaskData(maskStart: Swift.Int, offset: Swift.Int, length: Swift.Int) -> Foundation.Data
}
public func writeUint16(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt16)
public func writeUint32(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt32)
public func writeUint64(_ buffer: inout [Swift.UInt8], offset: Swift.Int, value: Swift.UInt64)
@_hasMissingDesignatedInitializers public class FoundationHTTPServerHandler : Starscream.HTTPServerHandler {
public func register(delegate: Starscream.HTTPServerDelegate)
public func createResponse(headers: [Swift.String : Swift.String]) -> Foundation.Data
public func parse(data: Foundation.Data)
@objc deinit
}
public class WSEngine : Starscream.Engine, Starscream.TransportEventClient, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.HTTPHandlerDelegate {
public var respondToPingWithPong: Swift.Bool
public init(transport: Starscream.Transport, certPinner: Starscream.CertificatePinning? = nil, headerValidator: Starscream.HeaderValidator = FoundationSecurity(), httpHandler: Starscream.HTTPHandler = FoundationHTTPHandler(), framer: Starscream.Framer = WSFramer(), compressionHandler: Starscream.CompressionHandler? = nil)
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16 = CloseCode.normal.rawValue)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceiveHTTP(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func didForm(event: Starscream.FrameCollector.Event)
@objc deinit
}
public enum ConnectionState {
case connected
case waiting
case cancelled
case failed(Swift.Error?)
case viability(Swift.Bool)
case shouldReconnect(Swift.Bool)
case receive(Foundation.Data)
}
public protocol TransportEventClient : AnyObject {
func connectionChanged(state: Starscream.ConnectionState)
}
public protocol Transport : AnyObject {
func register(delegate: Starscream.TransportEventClient)
func connect(url: Foundation.URL, timeout: Swift.Double, certificatePinning: Starscream.CertificatePinning?)
func disconnect()
func write(data: Foundation.Data, completion: @escaping ((Swift.Error?) -> ()))
var usingTLS: Swift.Bool { get }
}
extension Data {
}
public class FoundationHTTPHandler : Starscream.HTTPHandler {
public init()
public func convert(request: Foundation.URLRequest) -> Foundation.Data
public func parse(data: Foundation.Data) -> Swift.Int
public func register(delegate: Starscream.HTTPHandlerDelegate)
@objc deinit
}
@available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
@available(watchOS, unavailable)
public class WebSocketServer : Starscream.Server, Starscream.ConnectionDelegate {
public var onEvent: ((Starscream.ServerEvent) -> Swift.Void)?
public init()
public func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
public func didReceive(event: Starscream.ServerEvent)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(OSX 10.14, iOS 12.0, watchOS 5.0, tvOS 12.0, *)
public class ServerConnection : Starscream.Connection, Starscream.HTTPServerDelegate, Starscream.FramerEventClient, Starscream.FrameCollectorDelegate, Starscream.TransportEventClient {
public var onEvent: ((Starscream.ConnectionEvent) -> Swift.Void)?
weak public var delegate: Starscream.ConnectionDelegate?
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
public func connectionChanged(state: Starscream.ConnectionState)
public func didReceive(event: Starscream.HTTPEvent)
public func frameProcessed(event: Starscream.FrameEvent)
public func didForm(event: Starscream.FrameCollector.Event)
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
@objc deinit
}
public enum ConnectionEvent {
case connected([Swift.String : Swift.String])
case disconnected(Swift.String, Swift.UInt16)
case text(Swift.String)
case binary(Foundation.Data)
case pong(Foundation.Data?)
case ping(Foundation.Data?)
case error(Swift.Error)
}
public protocol Connection {
func write(data: Foundation.Data, opcode: Starscream.FrameOpCode)
}
public protocol ConnectionDelegate : AnyObject {
func didReceive(event: Starscream.ServerEvent)
}
public enum ServerEvent {
case connected(Starscream.Connection, [Swift.String : Swift.String])
case disconnected(Starscream.Connection, Swift.String, Swift.UInt16)
case text(Starscream.Connection, Swift.String)
case binary(Starscream.Connection, Foundation.Data)
case pong(Starscream.Connection, Foundation.Data?)
case ping(Starscream.Connection, Foundation.Data?)
}
public protocol Server {
func start(address: Swift.String, port: Swift.UInt16) -> Swift.Error?
}
public protocol CompressionHandler {
func load(headers: [Swift.String : Swift.String])
func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
func compress(data: Foundation.Data) -> Foundation.Data?
}
public class WSCompression : Starscream.CompressionHandler {
public init()
public func load(headers: [Swift.String : Swift.String])
public func decompress(data: Foundation.Data, isFinal: Swift.Bool) -> Foundation.Data?
public func compress(data: Foundation.Data) -> Foundation.Data?
@objc deinit
}
@objc @_inheritsConvenienceInitializers @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
public class NativeEngine : ObjectiveC.NSObject, Starscream.Engine, Foundation.URLSessionDataDelegate, Foundation.URLSessionWebSocketDelegate {
public func register(delegate: Starscream.EngineDelegate)
public func start(request: Foundation.URLRequest)
public func stop(closeCode: Swift.UInt16)
public func forceStop()
public func write(string: Swift.String, completion: (() -> ())?)
public func write(data: Foundation.Data, opcode: Starscream.FrameOpCode, completion: (() -> ())?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didOpenWithProtocol protocol: Swift.String?)
@objc public func urlSession(_ session: Foundation.URLSession, webSocketTask: Foundation.URLSessionWebSocketTask, didCloseWith closeCode: Foundation.URLSessionWebSocketTask.CloseCode, reason: Foundation.Data?)
@objc override dynamic public init()
@objc deinit
}
extension Starscream.SecurityErrorCode : Swift.Equatable {}
extension Starscream.SecurityErrorCode : Swift.Hashable {}
extension Starscream.SecurityErrorCode : Swift.RawRepresentable {}
extension Starscream.TCPTransportError : Swift.Equatable {}
extension Starscream.TCPTransportError : Swift.Hashable {}
extension Starscream.FoundationSecurityError : Swift.Equatable {}
extension Starscream.FoundationSecurityError : Swift.Hashable {}
extension Starscream.FoundationTransportError : Swift.Equatable {}
extension Starscream.FoundationTransportError : Swift.Hashable {}
extension Starscream.ErrorType : Swift.Equatable {}
extension Starscream.ErrorType : Swift.Hashable {}
extension Starscream.CloseCode : Swift.Equatable {}
extension Starscream.CloseCode : Swift.Hashable {}
extension Starscream.CloseCode : Swift.RawRepresentable {}
extension Starscream.FrameOpCode : Swift.Equatable {}
extension Starscream.FrameOpCode : Swift.Hashable {}
extension Starscream.FrameOpCode : Swift.RawRepresentable {}
@@ -0,0 +1,11 @@
framework module Starscream {
umbrella header "Starscream.h"
export *
module * { export * }
}
module Starscream.Swift {
header "Starscream-Swift.h"
requires objc
}
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>20D74</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>Starscream</string>
<key>CFBundleIdentifier</key>
<string>com.vluxe.Starscream</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Starscream</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>4.0.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>12D4e</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>11.1</string>
<key>DTSDKBuild</key>
<string>20C63</string>
<key>DTSDKName</key>
<string>macosx11.1</string>
<key>DTXcode</key>
<string>1240</string>
<key>DTXcodeBuild</key>
<string>12D4e</string>
<key>LSMinimumSystemVersion</key>
<string>10.10</string>
</dict>
</plist>

Some files were not shown because too many files have changed in this diff Show More