Compare commits

...

231 Commits

Author SHA1 Message Date
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
300 changed files with 33672 additions and 4265 deletions
+5
View File
@@ -36,3 +36,8 @@ 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
+1 -1
View File
@@ -1 +1 @@
3.0
5.2.4
+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/daltoniam/Starscream" == 2.0.2
github "https://github.com/pvzig/swifter.git" == 3.0.4
github "daltoniam/Starscream" == 4.0.4
github "httpswift/swifter" == 1.5.0
-2
View File
@@ -1,2 +0,0 @@
github "daltoniam/Starscream" "2.0.2"
github "pvzig/swifter" "3.0.4"
+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>3.1.5</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>3.1.5</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,79 @@
<?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>LibraryIdentifier</key>
<string>ios-x86_64_i386-simulator</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
<string>i386</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>macos-x86_64</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>macos</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>tvos-x86_64-simulator</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-armv7_arm64</string>
<key>LibraryPath</key>
<string>Starscream.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>armv7</string>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<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>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
@@ -0,0 +1,466 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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
#elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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
@@ -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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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,466 @@
#if 0
#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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
#elif defined(__i386__) && __i386__
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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
@@ -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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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,327 @@
<?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>
BQJrNbsr8553nondsEMBqJfEBaw=
</data>
<key>Headers/Starscream.h</key>
<data>
bIF/9oSljUDPWlbHwEoxEPdpaHo=
</data>
<key>Info.plist</key>
<data>
oP4CFUqNJVIdoCv3XqdH8wLjvZ0=
</data>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftdoc</key>
<data>
fv32O5WDulfxgcRaC7n399Q1LUA=
</data>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftinterface</key>
<data>
xrC+rfT/vSQpK5Y1G6y0LpD0ApA=
</data>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftmodule</key>
<data>
0Mi+Ky//XPptmpnyBTbUaukObl8=
</data>
<key>Modules/Starscream.swiftmodule/i386.swiftdoc</key>
<data>
fv32O5WDulfxgcRaC7n399Q1LUA=
</data>
<key>Modules/Starscream.swiftmodule/i386.swiftinterface</key>
<data>
xrC+rfT/vSQpK5Y1G6y0LpD0ApA=
</data>
<key>Modules/Starscream.swiftmodule/i386.swiftmodule</key>
<data>
0Mi+Ky//XPptmpnyBTbUaukObl8=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<data>
F/tRxtfpdsFqZZbyLoGEErwoPu8=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<data>
lmQeKejoQM4odh3MxRuv+Fs0P34=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
9sGwWb1dtHRdU3dBPXhnGJ8tF5w=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftdoc</key>
<data>
F/tRxtfpdsFqZZbyLoGEErwoPu8=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftinterface</key>
<data>
lmQeKejoQM4odh3MxRuv+Fs0P34=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftmodule</key>
<data>
9sGwWb1dtHRdU3dBPXhnGJ8tF5w=
</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>
BQJrNbsr8553nondsEMBqJfEBaw=
</data>
<key>hash2</key>
<data>
WzTAT3MIOflP3LGVWW13UJUM/PTx41Ql3QoytUeN5Gg=
</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/i386-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash</key>
<data>
fv32O5WDulfxgcRaC7n399Q1LUA=
</data>
<key>hash2</key>
<data>
9MQkrsmF/cH+OB9/YmZMWJyxhobKXIq04SqWyHksiZY=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash</key>
<data>
xrC+rfT/vSQpK5Y1G6y0LpD0ApA=
</data>
<key>hash2</key>
<data>
SatBt0sLx/ncctmcfRqN71lYIEutDrpwHOLarbUHfK4=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
0Mi+Ky//XPptmpnyBTbUaukObl8=
</data>
<key>hash2</key>
<data>
NLaKTrs6WDyaeZkwMVRsgiRWVv1FENjSwWITdK43DT0=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386.swiftdoc</key>
<dict>
<key>hash</key>
<data>
fv32O5WDulfxgcRaC7n399Q1LUA=
</data>
<key>hash2</key>
<data>
9MQkrsmF/cH+OB9/YmZMWJyxhobKXIq04SqWyHksiZY=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386.swiftinterface</key>
<dict>
<key>hash</key>
<data>
xrC+rfT/vSQpK5Y1G6y0LpD0ApA=
</data>
<key>hash2</key>
<data>
SatBt0sLx/ncctmcfRqN71lYIEutDrpwHOLarbUHfK4=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/i386.swiftmodule</key>
<dict>
<key>hash</key>
<data>
0Mi+Ky//XPptmpnyBTbUaukObl8=
</data>
<key>hash2</key>
<data>
NLaKTrs6WDyaeZkwMVRsgiRWVv1FENjSwWITdK43DT0=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash</key>
<data>
F/tRxtfpdsFqZZbyLoGEErwoPu8=
</data>
<key>hash2</key>
<data>
Qs7n/ErVjkmr34fv+qUum3mp2aymGhyDuBFl2yUVhmo=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash</key>
<data>
lmQeKejoQM4odh3MxRuv+Fs0P34=
</data>
<key>hash2</key>
<data>
GdOgAurAtZ+vIe3ppOXWJDqOeEC8jdFypsFZ4DJv8oM=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
9sGwWb1dtHRdU3dBPXhnGJ8tF5w=
</data>
<key>hash2</key>
<data>
A+Ly7RgI0E7wOOb3VdQiyLSlOyCAUuOcEFPEc33v6x0=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftdoc</key>
<dict>
<key>hash</key>
<data>
F/tRxtfpdsFqZZbyLoGEErwoPu8=
</data>
<key>hash2</key>
<data>
Qs7n/ErVjkmr34fv+qUum3mp2aymGhyDuBFl2yUVhmo=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftinterface</key>
<dict>
<key>hash</key>
<data>
lmQeKejoQM4odh3MxRuv+Fs0P34=
</data>
<key>hash2</key>
<data>
GdOgAurAtZ+vIe3ppOXWJDqOeEC8jdFypsFZ4DJv8oM=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftmodule</key>
<dict>
<key>hash</key>
<data>
9sGwWb1dtHRdU3dBPXhnGJ8tF5w=
</data>
<key>hash2</key>
<data>
A+Ly7RgI0E7wOOb3VdQiyLSlOyCAUuOcEFPEc33v6x0=
</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 @@
Versions/Current/Headers
@@ -0,0 +1 @@
Versions/Current/Modules
@@ -0,0 +1 @@
Versions/Current/Resources
@@ -0,0 +1 @@
Versions/Current/Starscream
@@ -0,0 +1,230 @@
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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
@@ -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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// 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,53 @@
<?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>20A5384c</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>11E801a</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>19G68</string>
<key>DTSDKName</key>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>1170</string>
<key>DTXcodeBuild</key>
<string>11E801a</string>
<key>LSMinimumSystemVersion</key>
<string>10.10</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
<integer>4</integer>
</array>
</dict>
</plist>
@@ -0,0 +1,231 @@
<?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>Resources/Info.plist</key>
<data>
QNIQI55xFN9YMaXB+YhyRpELnUo=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/Starscream-Swift.h</key>
<dict>
<key>hash</key>
<data>
71VH+DTcavxNXarECOTUSHapQao=
</data>
<key>hash2</key>
<data>
rjANGFLjI1AvDGsWvmCOHzqXjiMZTDLUy9f9oCpZLt0=
</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/x86_64-apple-macos.swiftdoc</key>
<dict>
<key>hash</key>
<data>
Pkh3V0Rz4xIirn/+23gpBwv8l54=
</data>
<key>hash2</key>
<data>
5gIy/0PK510PmUcOJmZhZQ5iQQP53VCprEmclaGtQvQ=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-macos.swiftinterface</key>
<dict>
<key>hash</key>
<data>
ZVd1T94gkWNGYDEYoaHrQvbR4BA=
</data>
<key>hash2</key>
<data>
0sabhn4E3rIiCpjv+NMyaXuZ6OjGUgfb4swA3f3Qyuo=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-macos.swiftmodule</key>
<dict>
<key>hash</key>
<data>
IklqmxI3t5CabQYPBG5s90wYP0o=
</data>
<key>hash2</key>
<data>
h+mXqrumf1QHDKWAwXxW63QsitubfRwaZLb3IoJbjo8=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftdoc</key>
<dict>
<key>hash</key>
<data>
Pkh3V0Rz4xIirn/+23gpBwv8l54=
</data>
<key>hash2</key>
<data>
5gIy/0PK510PmUcOJmZhZQ5iQQP53VCprEmclaGtQvQ=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftinterface</key>
<dict>
<key>hash</key>
<data>
ZVd1T94gkWNGYDEYoaHrQvbR4BA=
</data>
<key>hash2</key>
<data>
0sabhn4E3rIiCpjv+NMyaXuZ6OjGUgfb4swA3f3Qyuo=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftmodule</key>
<dict>
<key>hash</key>
<data>
IklqmxI3t5CabQYPBG5s90wYP0o=
</data>
<key>hash2</key>
<data>
h+mXqrumf1QHDKWAwXxW63QsitubfRwaZLb3IoJbjo8=
</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>
<key>Resources/Info.plist</key>
<dict>
<key>hash</key>
<data>
QNIQI55xFN9YMaXB+YhyRpELnUo=
</data>
<key>hash2</key>
<data>
qUklPdaPHW8qFlJJFtjYq6nBtKy8OCUJQPob507lP7Y=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/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>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<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>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</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,230 @@
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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
@@ -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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target arm64-apple-tvos9.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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target arm64-apple-tvos9.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,230 @@
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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
@@ -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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target x86_64-apple-tvos9.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.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target x86_64-apple-tvos9.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,237 @@
<?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>
71VH+DTcavxNXarECOTUSHapQao=
</data>
<key>Headers/Starscream.h</key>
<data>
bIF/9oSljUDPWlbHwEoxEPdpaHo=
</data>
<key>Info.plist</key>
<data>
tF7kiYJWx0yWvlvq8f+a7xBmbpQ=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-tvos-simulator.swiftdoc</key>
<data>
5bU1KbSjDTNOJZbLVzLoQKgChDU=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface</key>
<data>
EIZ5dVg6kfuXHaRG+85KIDBRrjM=
</data>
<key>Modules/Starscream.swiftmodule/x86_64-apple-tvos-simulator.swiftmodule</key>
<data>
w7YmRYHMPPRh38huQYoLnklPLgE=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftdoc</key>
<data>
5bU1KbSjDTNOJZbLVzLoQKgChDU=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftinterface</key>
<data>
EIZ5dVg6kfuXHaRG+85KIDBRrjM=
</data>
<key>Modules/Starscream.swiftmodule/x86_64.swiftmodule</key>
<data>
w7YmRYHMPPRh38huQYoLnklPLgE=
</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>
71VH+DTcavxNXarECOTUSHapQao=
</data>
<key>hash2</key>
<data>
rjANGFLjI1AvDGsWvmCOHzqXjiMZTDLUy9f9oCpZLt0=
</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/x86_64-apple-tvos-simulator.swiftdoc</key>
<dict>
<key>hash</key>
<data>
5bU1KbSjDTNOJZbLVzLoQKgChDU=
</data>
<key>hash2</key>
<data>
InDr2ZcxemKns5Bo8MAM67o/AIkEsHchCShO+5qhuNg=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-tvos-simulator.swiftinterface</key>
<dict>
<key>hash</key>
<data>
EIZ5dVg6kfuXHaRG+85KIDBRrjM=
</data>
<key>hash2</key>
<data>
FzUFqqCdWHmab6BnSIJmMgtBlPegXAyZ6NzSHRtHyQw=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64-apple-tvos-simulator.swiftmodule</key>
<dict>
<key>hash</key>
<data>
w7YmRYHMPPRh38huQYoLnklPLgE=
</data>
<key>hash2</key>
<data>
PoUbW/m1nLL1GgCSn8Fy6SDjvTubqrmCwDlno8ksL3g=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftdoc</key>
<dict>
<key>hash</key>
<data>
5bU1KbSjDTNOJZbLVzLoQKgChDU=
</data>
<key>hash2</key>
<data>
InDr2ZcxemKns5Bo8MAM67o/AIkEsHchCShO+5qhuNg=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftinterface</key>
<dict>
<key>hash</key>
<data>
EIZ5dVg6kfuXHaRG+85KIDBRrjM=
</data>
<key>hash2</key>
<data>
FzUFqqCdWHmab6BnSIJmMgtBlPegXAyZ6NzSHRtHyQw=
</data>
</dict>
<key>Modules/Starscream.swiftmodule/x86_64.swiftmodule</key>
<dict>
<key>hash</key>
<data>
w7YmRYHMPPRh38huQYoLnklPLgE=
</data>
<key>hash2</key>
<data>
PoUbW/m1nLL1GgCSn8Fy6SDjvTubqrmCwDlno8ksL3g=
</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>
+79
View File
@@ -0,0 +1,79 @@
<?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>LibraryIdentifier</key>
<string>ios-x86_64_i386-simulator</string>
<key>LibraryPath</key>
<string>Swifter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
<string>i386</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>macos-x86_64</string>
<key>LibraryPath</key>
<string>Swifter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>macos</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>tvos-x86_64-simulator</string>
<key>LibraryPath</key>
<string>Swifter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>tvos-arm64</string>
<key>LibraryPath</key>
<string>Swifter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>tvos</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-armv7_arm64</string>
<key>LibraryPath</key>
<string>Swifter.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>armv7</string>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
@@ -0,0 +1,434 @@
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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;
#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="Swifter",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__
// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
#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;
#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="Swifter",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
@@ -0,0 +1,19 @@
//
// SwifteriOS.h
// SwifteriOS
//
// Created by Romain Pouclet on 2015-11-24.
// Copyright © 2015 Damian Kołakowski. All rights reserved.
//
#import <UIKit/UIKit.h>
//! Project version number for SwifteriOS.
FOUNDATION_EXPORT double SwifteriOSVersionNumber;
//! Project version string for SwifteriOS.
FOUNDATION_EXPORT const unsigned char SwifteriOSVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <SwifteriOS/PublicHeader.h>
@@ -0,0 +1,583 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target armv7-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Swifter
import Dispatch
import Foundation
import Swift
extension String {
public enum FileError : Swift.Error {
case error(Swift.Int32)
}
public class File {
public init(_ pointer: Swift.UnsafeMutablePointer<Darwin.FILE>)
public func close()
public func seek(_ offset: Swift.Int) -> Swift.Bool
public func read(_ data: inout [Swift.UInt8]) throws -> Swift.Int
public func write(_ data: [Swift.UInt8]) throws
public static func currentWorkingDirectory() throws -> Swift.String
@objc deinit
}
public static var pathSeparator: Swift.String
public func openNewForWriting() throws -> Swift.String.File
public func openForReading() throws -> Swift.String.File
public func openForWritingAndReading() throws -> Swift.String.File
public func openFileForMode(_ path: Swift.String, _ mode: Swift.String) throws -> Swift.String.File
public func exists() throws -> Swift.Bool
public func directory() throws -> Swift.Bool
public func files() throws -> [Swift.String]
}
public enum SerializationError : Swift.Error {
case invalidObject
case notSupported
public static func == (a: Swifter.SerializationError, b: Swifter.SerializationError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public protocol HttpResponseBodyWriter {
func write(_ file: Swift.String.File) throws
func write(_ data: [Swift.UInt8]) throws
func write(_ data: Swift.ArraySlice<Swift.UInt8>) throws
func write(_ data: Foundation.NSData) throws
func write(_ data: Foundation.Data) throws
}
public enum HttpResponseBody {
case json(Any)
case html(Swift.String)
case htmlBody(Swift.String)
case text(Swift.String)
case data(Foundation.Data, contentType: Swift.String? = nil)
case custom(Any, (Any) throws -> Swift.String)
}
public enum HttpResponse {
case switchProtocols([Swift.String : Swift.String], (Swifter.Socket) -> Swift.Void)
case ok(Swifter.HttpResponseBody), created, accepted
case movedPermanently(Swift.String)
case movedTemporarily(Swift.String)
case badRequest(Swifter.HttpResponseBody?), unauthorized, forbidden, notFound, notAcceptable
case tooManyRequests
case internalServerError
case raw(Swift.Int, Swift.String, [Swift.String : Swift.String]?, ((Swifter.HttpResponseBodyWriter) throws -> Swift.Void)?)
public var statusCode: Swift.Int {
get
}
public var reasonPhrase: Swift.String {
get
}
public func headers() -> [Swift.String : Swift.String]
}
public func scopes(_ scope: @escaping Swifter.Closure) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public typealias Closure = () -> Swift.Void
public var idd: Swift.String?
public var dir: Swift.String?
public var rel: Swift.String?
public var rev: Swift.String?
public var alt: Swift.String?
public var forr: Swift.String?
public var src: Swift.String?
public var type: Swift.String?
public var href: Swift.String?
public var text: Swift.String?
public var abbr: Swift.String?
public var size: Swift.String?
public var face: Swift.String?
public var char: Swift.String?
public var cite: Swift.String?
public var span: Swift.String?
public var data: Swift.String?
public var axis: Swift.String?
public var Name: Swift.String?
public var name: Swift.String?
public var code: Swift.String?
public var link: Swift.String?
public var lang: Swift.String?
public var cols: Swift.String?
public var rows: Swift.String?
public var ismap: Swift.String?
public var shape: Swift.String?
public var style: Swift.String?
public var alink: Swift.String?
public var width: Swift.String?
public var rules: Swift.String?
public var align: Swift.String?
public var frame: Swift.String?
public var vlink: Swift.String?
public var deferr: Swift.String?
public var color: Swift.String?
public var media: Swift.String?
public var title: Swift.String?
public var scope: Swift.String?
public var classs: Swift.String?
public var manifest: Swift.String?
public var value: Swift.String?
public var clear: Swift.String?
public var start: Swift.String?
public var label: Swift.String?
public var action: Swift.String?
public var height: Swift.String?
public var method: Swift.String?
public var acceptt: Swift.String?
public var object: Swift.String?
public var scheme: Swift.String?
public var coords: Swift.String?
public var usemap: Swift.String?
public var onblur: Swift.String?
public var nohref: Swift.String?
public var nowrap: Swift.String?
public var hspace: Swift.String?
public var border: Swift.String?
public var valign: Swift.String?
public var vspace: Swift.String?
public var onload: Swift.String?
public var target: Swift.String?
public var prompt: Swift.String?
public var onfocus: Swift.String?
public var enctype: Swift.String?
public var onclick: Swift.String?
public var ontouchstart: Swift.String?
public var onkeyup: Swift.String?
public var profile: Swift.String?
public var version: Swift.String?
public var onreset: Swift.String?
public var charset: Swift.String?
public var standby: Swift.String?
public var colspan: Swift.String?
public var charoff: Swift.String?
public var classid: Swift.String?
public var compact: Swift.String?
public var declare: Swift.String?
public var rowspan: Swift.String?
public var checked: Swift.String?
public var archive: Swift.String?
public var bgcolor: Swift.String?
public var content: Swift.String?
public var noshade: Swift.String?
public var summary: Swift.String?
public var headers: Swift.String?
public var onselect: Swift.String?
public var readonly: Swift.String?
public var tabindex: Swift.String?
public var onchange: Swift.String?
public var noresize: Swift.String?
public var disabled: Swift.String?
public var longdesc: Swift.String?
public var codebase: Swift.String?
public var language: Swift.String?
public var datetime: Swift.String?
public var selected: Swift.String?
public var hreflang: Swift.String?
public var onsubmit: Swift.String?
public var multiple: Swift.String?
public var onunload: Swift.String?
public var codetype: Swift.String?
public var scrolling: Swift.String?
public var onkeydown: Swift.String?
public var maxlength: Swift.String?
public var valuetype: Swift.String?
public var accesskey: Swift.String?
public var onmouseup: Swift.String?
public var autofocus: Swift.String?
public var onkeypress: Swift.String?
public var ondblclick: Swift.String?
public var onmouseout: Swift.String?
public var httpEquiv: Swift.String?
public var dataText: Swift.String?
public var background: Swift.String?
public var onmousemove: Swift.String?
public var onmouseover: Swift.String?
public var cellpadding: Swift.String?
public var onmousedown: Swift.String?
public var frameborder: Swift.String?
public var marginwidth: Swift.String?
public var cellspacing: Swift.String?
public var placeholder: Swift.String?
public var marginheight: Swift.String?
public var acceptCharset: Swift.String?
public var inner: Swift.String?
public func a(_ closure: () -> Swift.Void)
public func b(_ closure: () -> Swift.Void)
public func i(_ closure: () -> Swift.Void)
public func p(_ closure: () -> Swift.Void)
public func q(_ closure: () -> Swift.Void)
public func s(_ closure: () -> Swift.Void)
public func u(_ closure: () -> Swift.Void)
public func br(_ closure: () -> Swift.Void)
public func dd(_ closure: () -> Swift.Void)
public func dl(_ closure: () -> Swift.Void)
public func dt(_ closure: () -> Swift.Void)
public func em(_ closure: () -> Swift.Void)
public func hr(_ closure: () -> Swift.Void)
public func li(_ closure: () -> Swift.Void)
public func ol(_ closure: () -> Swift.Void)
public func rp(_ closure: () -> Swift.Void)
public func rt(_ closure: () -> Swift.Void)
public func td(_ closure: () -> Swift.Void)
public func th(_ closure: () -> Swift.Void)
public func tr(_ closure: () -> Swift.Void)
public func tt(_ closure: () -> Swift.Void)
public func ul(_ closure: () -> Swift.Void)
public func ul<T>(_ collection: T, _ closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func h1(_ closure: () -> Swift.Void)
public func h2(_ closure: () -> Swift.Void)
public func h3(_ closure: () -> Swift.Void)
public func h4(_ closure: () -> Swift.Void)
public func h5(_ closure: () -> Swift.Void)
public func h6(_ closure: () -> Swift.Void)
public func bdi(_ closure: () -> Swift.Void)
public func bdo(_ closure: () -> Swift.Void)
public func big(_ closure: () -> Swift.Void)
public func col(_ closure: () -> Swift.Void)
public func del(_ closure: () -> Swift.Void)
public func dfn(_ closure: () -> Swift.Void)
public func dir(_ closure: () -> Swift.Void)
public func div(_ closure: () -> Swift.Void)
public func img(_ closure: () -> Swift.Void)
public func ins(_ closure: () -> Swift.Void)
public func kbd(_ closure: () -> Swift.Void)
public func map(_ closure: () -> Swift.Void)
public func nav(_ closure: () -> Swift.Void)
public func pre(_ closure: () -> Swift.Void)
public func rtc(_ closure: () -> Swift.Void)
public func sub(_ closure: () -> Swift.Void)
public func sup(_ closure: () -> Swift.Void)
public func varr(_ closure: () -> Swift.Void)
public func wbr(_ closure: () -> Swift.Void)
public func xmp(_ closure: () -> Swift.Void)
public func abbr(_ closure: () -> Swift.Void)
public func area(_ closure: () -> Swift.Void)
public func base(_ closure: () -> Swift.Void)
public func body(_ closure: () -> Swift.Void)
public func cite(_ closure: () -> Swift.Void)
public func code(_ closure: () -> Swift.Void)
public func data(_ closure: () -> Swift.Void)
public func font(_ closure: () -> Swift.Void)
public func form(_ closure: () -> Swift.Void)
public func head(_ closure: () -> Swift.Void)
public func html(_ closure: () -> Swift.Void)
public func link(_ closure: () -> Swift.Void)
public func main(_ closure: () -> Swift.Void)
public func mark(_ closure: () -> Swift.Void)
public func menu(_ closure: () -> Swift.Void)
public func meta(_ closure: () -> Swift.Void)
public func nobr(_ closure: () -> Swift.Void)
public func ruby(_ closure: () -> Swift.Void)
public func samp(_ closure: () -> Swift.Void)
public func span(_ closure: () -> Swift.Void)
public func time(_ closure: () -> Swift.Void)
public func aside(_ closure: () -> Swift.Void)
public func audio(_ closure: () -> Swift.Void)
public func blink(_ closure: () -> Swift.Void)
public func embed(_ closure: () -> Swift.Void)
public func frame(_ closure: () -> Swift.Void)
public func image(_ closure: () -> Swift.Void)
public func input(_ closure: () -> Swift.Void)
public func label(_ closure: () -> Swift.Void)
public func meter(_ closure: () -> Swift.Void)
public func param(_ closure: () -> Swift.Void)
public func small(_ closure: () -> Swift.Void)
public func style(_ closure: () -> Swift.Void)
public func table(_ closure: () -> Swift.Void)
public func table<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tbody(_ closure: () -> Swift.Void)
public func tbody<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tfoot(_ closure: () -> Swift.Void)
public func thead(_ closure: () -> Swift.Void)
public func title(_ closure: () -> Swift.Void)
public func track(_ closure: () -> Swift.Void)
public func video(_ closure: () -> Swift.Void)
public func applet(_ closure: () -> Swift.Void)
public func button(_ closure: () -> Swift.Void)
public func canvas(_ closure: () -> Swift.Void)
public func center(_ closure: () -> Swift.Void)
public func dialog(_ closure: () -> Swift.Void)
public func figure(_ closure: () -> Swift.Void)
public func footer(_ closure: () -> Swift.Void)
public func header(_ closure: () -> Swift.Void)
public func hgroup(_ closure: () -> Swift.Void)
public func iframe(_ closure: () -> Swift.Void)
public func keygen(_ closure: () -> Swift.Void)
public func legend(_ closure: () -> Swift.Void)
public func object(_ closure: () -> Swift.Void)
public func option(_ closure: () -> Swift.Void)
public func output(_ closure: () -> Swift.Void)
public func script(_ closure: () -> Swift.Void)
public func select(_ closure: () -> Swift.Void)
public func shadow(_ closure: () -> Swift.Void)
public func source(_ closure: () -> Swift.Void)
public func spacer(_ closure: () -> Swift.Void)
public func strike(_ closure: () -> Swift.Void)
public func strong(_ closure: () -> Swift.Void)
public func acronym(_ closure: () -> Swift.Void)
public func address(_ closure: () -> Swift.Void)
public func article(_ closure: () -> Swift.Void)
public func bgsound(_ closure: () -> Swift.Void)
public func caption(_ closure: () -> Swift.Void)
public func command(_ closure: () -> Swift.Void)
public func content(_ closure: () -> Swift.Void)
public func details(_ closure: () -> Swift.Void)
public func elementt(_ closure: () -> Swift.Void)
public func isindex(_ closure: () -> Swift.Void)
public func listing(_ closure: () -> Swift.Void)
public func marquee(_ closure: () -> Swift.Void)
public func noembed(_ closure: () -> Swift.Void)
public func picture(_ closure: () -> Swift.Void)
public func section(_ closure: () -> Swift.Void)
public func summary(_ closure: () -> Swift.Void)
public func basefont(_ closure: () -> Swift.Void)
public func colgroup(_ closure: () -> Swift.Void)
public func datalist(_ closure: () -> Swift.Void)
public func fieldset(_ closure: () -> Swift.Void)
public func frameset(_ closure: () -> Swift.Void)
public func menuitem(_ closure: () -> Swift.Void)
public func multicol(_ closure: () -> Swift.Void)
public func noframes(_ closure: () -> Swift.Void)
public func noscript(_ closure: () -> Swift.Void)
public func optgroup(_ closure: () -> Swift.Void)
public func progress(_ closure: () -> Swift.Void)
public func template(_ closure: () -> Swift.Void)
public func textarea(_ closure: () -> Swift.Void)
public func plaintext(_ closure: () -> Swift.Void)
public func javascript(_ closure: () -> Swift.Void)
public func blockquote(_ closure: () -> Swift.Void)
public func figcaption(_ closure: () -> Swift.Void)
public func stylesheet(_ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ attrs: [Swift.String : Swift.String?] = [:], _ closure: () -> Swift.Void)
@_hasMissingDesignatedInitializers public class Process {
public static var pid: Swift.Int {
get
}
public static var tid: Swift.UInt64 {
get
}
public static func watchSignals(_ callback: @escaping (Swift.Int32) -> Swift.Void)
@objc deinit
}
public class HttpParser {
public init()
public func readHttpRequest(_ socket: Swifter.Socket) throws -> Swifter.HttpRequest
@objc deinit
}
extension String {
public func unquote() -> Swift.String
}
extension Unicode.Scalar {
public func asWhitespace() -> Swift.UInt8?
}
@available(*, deprecated, message: "Use websocket(text:binary:pong:connected:disconnected:) instead.")
public func websocket(_ text: @escaping (Swifter.WebSocketSession, Swift.String) -> Swift.Void, _ binary: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void, _ pong: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func websocket(text: ((Swifter.WebSocketSession, Swift.String) -> Swift.Void)? = nil, binary: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, pong: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, connected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil, disconnected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public class WebSocketSession : Swift.Hashable, Swift.Equatable {
public enum WsError : Swift.Error {
case unknownOpCode(Swift.String), unMaskedFrame(Swift.String), protocolError(Swift.String), invalidUTF8(Swift.String)
}
public enum OpCode : Swift.UInt8 {
case `continue`, close, ping, pong, text, binary
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public enum Control : Swift.Error {
case close
public static func == (a: Swifter.WebSocketSession.Control, b: Swifter.WebSocketSession.Control) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@_hasMissingDesignatedInitializers public class Frame {
public var opcode: Swifter.WebSocketSession.OpCode
public var fin: Swift.Bool
public var rsv1: Swift.UInt8
public var rsv2: Swift.UInt8
public var rsv3: Swift.UInt8
public var payload: [Swift.UInt8]
@objc deinit
}
final public let socket: Swifter.Socket
public init(_ socket: Swifter.Socket)
@objc deinit
public func writeText(_ text: Swift.String)
public func writeBinary(_ binary: [Swift.UInt8])
public func writeBinary(_ binary: Swift.ArraySlice<Swift.UInt8>)
public func writeFrame(_ data: Swift.ArraySlice<Swift.UInt8>, _ op: Swifter.WebSocketSession.OpCode, _ fin: Swift.Bool = true)
public func writeCloseFrame()
public func readFrame() throws -> Swifter.WebSocketSession.Frame
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public func == (webSocketSession1: Swifter.WebSocketSession, webSocketSession2: Swifter.WebSocketSession) -> Swift.Bool
@_inheritsConvenienceInitializers open class HttpServer : Swifter.HttpServerIO {
public static let VERSION: Swift.String
override public init()
public var DELETE: Swifter.HttpServer.MethodRoute, PATCH: Swifter.HttpServer.MethodRoute, HEAD: Swifter.HttpServer.MethodRoute, POST: Swifter.HttpServer.MethodRoute, GET: Swifter.HttpServer.MethodRoute, PUT: Swifter.HttpServer.MethodRoute
public var delete: Swifter.HttpServer.MethodRoute, patch: Swifter.HttpServer.MethodRoute, head: Swifter.HttpServer.MethodRoute, post: Swifter.HttpServer.MethodRoute, get: Swifter.HttpServer.MethodRoute, put: Swifter.HttpServer.MethodRoute
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
public var routes: [Swift.String] {
get
}
public var notFoundHandler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?
public var middleware: [(Swifter.HttpRequest) -> Swifter.HttpResponse?]
override open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
public struct MethodRoute {
public let method: Swift.String
public let router: Swifter.HttpRouter
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
}
@objc deinit
}
public class HttpRequest {
public var path: Swift.String
public var queryParams: [(Swift.String, Swift.String)]
public var method: Swift.String
public var headers: [Swift.String : Swift.String]
public var body: [Swift.UInt8]
public var address: Swift.String?
public var params: [Swift.String : Swift.String]
public init()
public func hasTokenForHeader(_ headerName: Swift.String, token: Swift.String) -> Swift.Bool
public func parseUrlencodedForm() -> [(Swift.String, Swift.String)]
public struct MultiPart {
public let headers: [Swift.String : Swift.String]
public let body: [Swift.UInt8]
public var name: Swift.String? {
get
}
public var fileName: Swift.String? {
get
}
}
public func parseMultiPartFormData() -> [Swifter.HttpRequest.MultiPart]
@objc deinit
}
public func demoServer(_ publicDir: Swift.String) -> Swifter.HttpServer
extension Socket {
public func writeFile(_ file: Swift.String.File) throws
}
public enum SocketError : Swift.Error {
case socketCreationFailed(Swift.String)
case socketSettingReUseAddrFailed(Swift.String)
case bindFailed(Swift.String)
case listenFailed(Swift.String)
case writeFailed(Swift.String)
case getPeerNameFailed(Swift.String)
case convertingPeerNameFailed
case getNameInfoFailed(Swift.String)
case acceptFailed(Swift.String)
case recvFailed(Swift.String)
case getSockNameFailed(Swift.String)
}
open class Socket : Swift.Hashable, Swift.Equatable {
public init(socketFileDescriptor: Swift.Int32)
@objc deinit
public func hash(into hasher: inout Swift.Hasher)
public func close()
public func port() throws -> Darwin.in_port_t
public func isIPv4() throws -> Swift.Bool
public func writeUTF8(_ string: Swift.String) throws
public func writeUInt8(_ data: [Swift.UInt8]) throws
public func writeUInt8(_ data: Swift.ArraySlice<Swift.UInt8>) throws
public func writeData(_ data: Foundation.NSData) throws
public func writeData(_ data: Foundation.Data) throws
open func read() throws -> Swift.UInt8
open func read(length: Swift.Int) throws -> [Swift.UInt8]
public func readLine() throws -> Swift.String
public func peername() throws -> Swift.String
public class func setNoSigPipe(_ socket: Swift.Int32)
public class func close(_ socket: Swift.Int32)
open var hashValue: Swift.Int {
get
}
}
public func == (socket1: Swifter.Socket, socket2: Swifter.Socket) -> Swift.Bool
public protocol HttpServerIODelegate : AnyObject {
func socketConnectionReceived(_ socket: Swifter.Socket)
}
open class HttpServerIO {
weak public var delegate: Swifter.HttpServerIODelegate?
public enum HttpServerIOState : Swift.Int32 {
case starting
case running
case stopping
case stopped
public typealias RawValue = Swift.Int32
public init?(rawValue: Swift.Int32)
public var rawValue: Swift.Int32 {
get
}
}
public var state: Swifter.HttpServerIO.HttpServerIOState {
get
}
public var operating: Swift.Bool {
get
}
public var listenAddressIPv4: Swift.String?
public var listenAddressIPv6: Swift.String?
public func port() throws -> Swift.Int
public func isIPv4() throws -> Swift.Bool
public init()
@objc deinit
@available(OSX 10.10, *)
public func start(_ port: Darwin.in_port_t = 8080, forceIPv4: Swift.Bool = false, priority: Dispatch.DispatchQoS.QoSClass = DispatchQoS.QoSClass.background) throws
public func stop()
open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
}
public func shareFile(_ path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func shareFilesFromDirectory(_ directoryPath: Swift.String, defaults: [Swift.String] = ["index.html", "default.html"]) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func directoryBrowser(_ dir: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
open class HttpRouter {
public init()
public func routes() -> [Swift.String]
public func register(_ method: Swift.String?, path: Swift.String, handler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?)
public func route(_ method: Swift.String?, path: Swift.String) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)?
@objc deinit
}
extension NSURL {
public func mimeType() -> Swift.String
}
extension NSString {
public func mimeType() -> Swift.String
}
extension String {
public func mimeType() -> Swift.String
}
public struct SHA1 {
public static func hash(_ input: [Swift.UInt8]) -> [Swift.UInt8]
}
extension String {
public func sha1() -> [Swift.UInt8]
public func sha1() -> Swift.String
}
extension Socket {
public class func tcpSocketForListen(_ port: Darwin.in_port_t, _ forceIPv4: Swift.Bool = false, _ maxPendingConnection: Swift.Int32 = SOMAXCONN, _ listenAddress: Swift.String? = nil) throws -> Swifter.Socket
public func acceptClientSocket() throws -> Swifter.Socket
}
@_hasMissingDesignatedInitializers public class Errno {
public class func description() -> Swift.String
@objc deinit
}
extension String {
public static func toBase64(_ data: [Swift.UInt8]) -> Swift.String
}
extension Swifter.SerializationError : Swift.Equatable {}
extension Swifter.SerializationError : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.Equatable {}
extension Swifter.WebSocketSession.OpCode : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.RawRepresentable {}
extension Swifter.WebSocketSession.Control : Swift.Equatable {}
extension Swifter.WebSocketSession.Control : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Equatable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.RawRepresentable {}
@@ -0,0 +1,583 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target arm64-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Swifter
import Dispatch
import Foundation
import Swift
extension String {
public enum FileError : Swift.Error {
case error(Swift.Int32)
}
public class File {
public init(_ pointer: Swift.UnsafeMutablePointer<Darwin.FILE>)
public func close()
public func seek(_ offset: Swift.Int) -> Swift.Bool
public func read(_ data: inout [Swift.UInt8]) throws -> Swift.Int
public func write(_ data: [Swift.UInt8]) throws
public static func currentWorkingDirectory() throws -> Swift.String
@objc deinit
}
public static var pathSeparator: Swift.String
public func openNewForWriting() throws -> Swift.String.File
public func openForReading() throws -> Swift.String.File
public func openForWritingAndReading() throws -> Swift.String.File
public func openFileForMode(_ path: Swift.String, _ mode: Swift.String) throws -> Swift.String.File
public func exists() throws -> Swift.Bool
public func directory() throws -> Swift.Bool
public func files() throws -> [Swift.String]
}
public enum SerializationError : Swift.Error {
case invalidObject
case notSupported
public static func == (a: Swifter.SerializationError, b: Swifter.SerializationError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public protocol HttpResponseBodyWriter {
func write(_ file: Swift.String.File) throws
func write(_ data: [Swift.UInt8]) throws
func write(_ data: Swift.ArraySlice<Swift.UInt8>) throws
func write(_ data: Foundation.NSData) throws
func write(_ data: Foundation.Data) throws
}
public enum HttpResponseBody {
case json(Any)
case html(Swift.String)
case htmlBody(Swift.String)
case text(Swift.String)
case data(Foundation.Data, contentType: Swift.String? = nil)
case custom(Any, (Any) throws -> Swift.String)
}
public enum HttpResponse {
case switchProtocols([Swift.String : Swift.String], (Swifter.Socket) -> Swift.Void)
case ok(Swifter.HttpResponseBody), created, accepted
case movedPermanently(Swift.String)
case movedTemporarily(Swift.String)
case badRequest(Swifter.HttpResponseBody?), unauthorized, forbidden, notFound, notAcceptable
case tooManyRequests
case internalServerError
case raw(Swift.Int, Swift.String, [Swift.String : Swift.String]?, ((Swifter.HttpResponseBodyWriter) throws -> Swift.Void)?)
public var statusCode: Swift.Int {
get
}
public var reasonPhrase: Swift.String {
get
}
public func headers() -> [Swift.String : Swift.String]
}
public func scopes(_ scope: @escaping Swifter.Closure) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public typealias Closure = () -> Swift.Void
public var idd: Swift.String?
public var dir: Swift.String?
public var rel: Swift.String?
public var rev: Swift.String?
public var alt: Swift.String?
public var forr: Swift.String?
public var src: Swift.String?
public var type: Swift.String?
public var href: Swift.String?
public var text: Swift.String?
public var abbr: Swift.String?
public var size: Swift.String?
public var face: Swift.String?
public var char: Swift.String?
public var cite: Swift.String?
public var span: Swift.String?
public var data: Swift.String?
public var axis: Swift.String?
public var Name: Swift.String?
public var name: Swift.String?
public var code: Swift.String?
public var link: Swift.String?
public var lang: Swift.String?
public var cols: Swift.String?
public var rows: Swift.String?
public var ismap: Swift.String?
public var shape: Swift.String?
public var style: Swift.String?
public var alink: Swift.String?
public var width: Swift.String?
public var rules: Swift.String?
public var align: Swift.String?
public var frame: Swift.String?
public var vlink: Swift.String?
public var deferr: Swift.String?
public var color: Swift.String?
public var media: Swift.String?
public var title: Swift.String?
public var scope: Swift.String?
public var classs: Swift.String?
public var manifest: Swift.String?
public var value: Swift.String?
public var clear: Swift.String?
public var start: Swift.String?
public var label: Swift.String?
public var action: Swift.String?
public var height: Swift.String?
public var method: Swift.String?
public var acceptt: Swift.String?
public var object: Swift.String?
public var scheme: Swift.String?
public var coords: Swift.String?
public var usemap: Swift.String?
public var onblur: Swift.String?
public var nohref: Swift.String?
public var nowrap: Swift.String?
public var hspace: Swift.String?
public var border: Swift.String?
public var valign: Swift.String?
public var vspace: Swift.String?
public var onload: Swift.String?
public var target: Swift.String?
public var prompt: Swift.String?
public var onfocus: Swift.String?
public var enctype: Swift.String?
public var onclick: Swift.String?
public var ontouchstart: Swift.String?
public var onkeyup: Swift.String?
public var profile: Swift.String?
public var version: Swift.String?
public var onreset: Swift.String?
public var charset: Swift.String?
public var standby: Swift.String?
public var colspan: Swift.String?
public var charoff: Swift.String?
public var classid: Swift.String?
public var compact: Swift.String?
public var declare: Swift.String?
public var rowspan: Swift.String?
public var checked: Swift.String?
public var archive: Swift.String?
public var bgcolor: Swift.String?
public var content: Swift.String?
public var noshade: Swift.String?
public var summary: Swift.String?
public var headers: Swift.String?
public var onselect: Swift.String?
public var readonly: Swift.String?
public var tabindex: Swift.String?
public var onchange: Swift.String?
public var noresize: Swift.String?
public var disabled: Swift.String?
public var longdesc: Swift.String?
public var codebase: Swift.String?
public var language: Swift.String?
public var datetime: Swift.String?
public var selected: Swift.String?
public var hreflang: Swift.String?
public var onsubmit: Swift.String?
public var multiple: Swift.String?
public var onunload: Swift.String?
public var codetype: Swift.String?
public var scrolling: Swift.String?
public var onkeydown: Swift.String?
public var maxlength: Swift.String?
public var valuetype: Swift.String?
public var accesskey: Swift.String?
public var onmouseup: Swift.String?
public var autofocus: Swift.String?
public var onkeypress: Swift.String?
public var ondblclick: Swift.String?
public var onmouseout: Swift.String?
public var httpEquiv: Swift.String?
public var dataText: Swift.String?
public var background: Swift.String?
public var onmousemove: Swift.String?
public var onmouseover: Swift.String?
public var cellpadding: Swift.String?
public var onmousedown: Swift.String?
public var frameborder: Swift.String?
public var marginwidth: Swift.String?
public var cellspacing: Swift.String?
public var placeholder: Swift.String?
public var marginheight: Swift.String?
public var acceptCharset: Swift.String?
public var inner: Swift.String?
public func a(_ closure: () -> Swift.Void)
public func b(_ closure: () -> Swift.Void)
public func i(_ closure: () -> Swift.Void)
public func p(_ closure: () -> Swift.Void)
public func q(_ closure: () -> Swift.Void)
public func s(_ closure: () -> Swift.Void)
public func u(_ closure: () -> Swift.Void)
public func br(_ closure: () -> Swift.Void)
public func dd(_ closure: () -> Swift.Void)
public func dl(_ closure: () -> Swift.Void)
public func dt(_ closure: () -> Swift.Void)
public func em(_ closure: () -> Swift.Void)
public func hr(_ closure: () -> Swift.Void)
public func li(_ closure: () -> Swift.Void)
public func ol(_ closure: () -> Swift.Void)
public func rp(_ closure: () -> Swift.Void)
public func rt(_ closure: () -> Swift.Void)
public func td(_ closure: () -> Swift.Void)
public func th(_ closure: () -> Swift.Void)
public func tr(_ closure: () -> Swift.Void)
public func tt(_ closure: () -> Swift.Void)
public func ul(_ closure: () -> Swift.Void)
public func ul<T>(_ collection: T, _ closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func h1(_ closure: () -> Swift.Void)
public func h2(_ closure: () -> Swift.Void)
public func h3(_ closure: () -> Swift.Void)
public func h4(_ closure: () -> Swift.Void)
public func h5(_ closure: () -> Swift.Void)
public func h6(_ closure: () -> Swift.Void)
public func bdi(_ closure: () -> Swift.Void)
public func bdo(_ closure: () -> Swift.Void)
public func big(_ closure: () -> Swift.Void)
public func col(_ closure: () -> Swift.Void)
public func del(_ closure: () -> Swift.Void)
public func dfn(_ closure: () -> Swift.Void)
public func dir(_ closure: () -> Swift.Void)
public func div(_ closure: () -> Swift.Void)
public func img(_ closure: () -> Swift.Void)
public func ins(_ closure: () -> Swift.Void)
public func kbd(_ closure: () -> Swift.Void)
public func map(_ closure: () -> Swift.Void)
public func nav(_ closure: () -> Swift.Void)
public func pre(_ closure: () -> Swift.Void)
public func rtc(_ closure: () -> Swift.Void)
public func sub(_ closure: () -> Swift.Void)
public func sup(_ closure: () -> Swift.Void)
public func varr(_ closure: () -> Swift.Void)
public func wbr(_ closure: () -> Swift.Void)
public func xmp(_ closure: () -> Swift.Void)
public func abbr(_ closure: () -> Swift.Void)
public func area(_ closure: () -> Swift.Void)
public func base(_ closure: () -> Swift.Void)
public func body(_ closure: () -> Swift.Void)
public func cite(_ closure: () -> Swift.Void)
public func code(_ closure: () -> Swift.Void)
public func data(_ closure: () -> Swift.Void)
public func font(_ closure: () -> Swift.Void)
public func form(_ closure: () -> Swift.Void)
public func head(_ closure: () -> Swift.Void)
public func html(_ closure: () -> Swift.Void)
public func link(_ closure: () -> Swift.Void)
public func main(_ closure: () -> Swift.Void)
public func mark(_ closure: () -> Swift.Void)
public func menu(_ closure: () -> Swift.Void)
public func meta(_ closure: () -> Swift.Void)
public func nobr(_ closure: () -> Swift.Void)
public func ruby(_ closure: () -> Swift.Void)
public func samp(_ closure: () -> Swift.Void)
public func span(_ closure: () -> Swift.Void)
public func time(_ closure: () -> Swift.Void)
public func aside(_ closure: () -> Swift.Void)
public func audio(_ closure: () -> Swift.Void)
public func blink(_ closure: () -> Swift.Void)
public func embed(_ closure: () -> Swift.Void)
public func frame(_ closure: () -> Swift.Void)
public func image(_ closure: () -> Swift.Void)
public func input(_ closure: () -> Swift.Void)
public func label(_ closure: () -> Swift.Void)
public func meter(_ closure: () -> Swift.Void)
public func param(_ closure: () -> Swift.Void)
public func small(_ closure: () -> Swift.Void)
public func style(_ closure: () -> Swift.Void)
public func table(_ closure: () -> Swift.Void)
public func table<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tbody(_ closure: () -> Swift.Void)
public func tbody<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tfoot(_ closure: () -> Swift.Void)
public func thead(_ closure: () -> Swift.Void)
public func title(_ closure: () -> Swift.Void)
public func track(_ closure: () -> Swift.Void)
public func video(_ closure: () -> Swift.Void)
public func applet(_ closure: () -> Swift.Void)
public func button(_ closure: () -> Swift.Void)
public func canvas(_ closure: () -> Swift.Void)
public func center(_ closure: () -> Swift.Void)
public func dialog(_ closure: () -> Swift.Void)
public func figure(_ closure: () -> Swift.Void)
public func footer(_ closure: () -> Swift.Void)
public func header(_ closure: () -> Swift.Void)
public func hgroup(_ closure: () -> Swift.Void)
public func iframe(_ closure: () -> Swift.Void)
public func keygen(_ closure: () -> Swift.Void)
public func legend(_ closure: () -> Swift.Void)
public func object(_ closure: () -> Swift.Void)
public func option(_ closure: () -> Swift.Void)
public func output(_ closure: () -> Swift.Void)
public func script(_ closure: () -> Swift.Void)
public func select(_ closure: () -> Swift.Void)
public func shadow(_ closure: () -> Swift.Void)
public func source(_ closure: () -> Swift.Void)
public func spacer(_ closure: () -> Swift.Void)
public func strike(_ closure: () -> Swift.Void)
public func strong(_ closure: () -> Swift.Void)
public func acronym(_ closure: () -> Swift.Void)
public func address(_ closure: () -> Swift.Void)
public func article(_ closure: () -> Swift.Void)
public func bgsound(_ closure: () -> Swift.Void)
public func caption(_ closure: () -> Swift.Void)
public func command(_ closure: () -> Swift.Void)
public func content(_ closure: () -> Swift.Void)
public func details(_ closure: () -> Swift.Void)
public func elementt(_ closure: () -> Swift.Void)
public func isindex(_ closure: () -> Swift.Void)
public func listing(_ closure: () -> Swift.Void)
public func marquee(_ closure: () -> Swift.Void)
public func noembed(_ closure: () -> Swift.Void)
public func picture(_ closure: () -> Swift.Void)
public func section(_ closure: () -> Swift.Void)
public func summary(_ closure: () -> Swift.Void)
public func basefont(_ closure: () -> Swift.Void)
public func colgroup(_ closure: () -> Swift.Void)
public func datalist(_ closure: () -> Swift.Void)
public func fieldset(_ closure: () -> Swift.Void)
public func frameset(_ closure: () -> Swift.Void)
public func menuitem(_ closure: () -> Swift.Void)
public func multicol(_ closure: () -> Swift.Void)
public func noframes(_ closure: () -> Swift.Void)
public func noscript(_ closure: () -> Swift.Void)
public func optgroup(_ closure: () -> Swift.Void)
public func progress(_ closure: () -> Swift.Void)
public func template(_ closure: () -> Swift.Void)
public func textarea(_ closure: () -> Swift.Void)
public func plaintext(_ closure: () -> Swift.Void)
public func javascript(_ closure: () -> Swift.Void)
public func blockquote(_ closure: () -> Swift.Void)
public func figcaption(_ closure: () -> Swift.Void)
public func stylesheet(_ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ attrs: [Swift.String : Swift.String?] = [:], _ closure: () -> Swift.Void)
@_hasMissingDesignatedInitializers public class Process {
public static var pid: Swift.Int {
get
}
public static var tid: Swift.UInt64 {
get
}
public static func watchSignals(_ callback: @escaping (Swift.Int32) -> Swift.Void)
@objc deinit
}
public class HttpParser {
public init()
public func readHttpRequest(_ socket: Swifter.Socket) throws -> Swifter.HttpRequest
@objc deinit
}
extension String {
public func unquote() -> Swift.String
}
extension Unicode.Scalar {
public func asWhitespace() -> Swift.UInt8?
}
@available(*, deprecated, message: "Use websocket(text:binary:pong:connected:disconnected:) instead.")
public func websocket(_ text: @escaping (Swifter.WebSocketSession, Swift.String) -> Swift.Void, _ binary: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void, _ pong: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func websocket(text: ((Swifter.WebSocketSession, Swift.String) -> Swift.Void)? = nil, binary: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, pong: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, connected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil, disconnected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public class WebSocketSession : Swift.Hashable, Swift.Equatable {
public enum WsError : Swift.Error {
case unknownOpCode(Swift.String), unMaskedFrame(Swift.String), protocolError(Swift.String), invalidUTF8(Swift.String)
}
public enum OpCode : Swift.UInt8 {
case `continue`, close, ping, pong, text, binary
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public enum Control : Swift.Error {
case close
public static func == (a: Swifter.WebSocketSession.Control, b: Swifter.WebSocketSession.Control) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@_hasMissingDesignatedInitializers public class Frame {
public var opcode: Swifter.WebSocketSession.OpCode
public var fin: Swift.Bool
public var rsv1: Swift.UInt8
public var rsv2: Swift.UInt8
public var rsv3: Swift.UInt8
public var payload: [Swift.UInt8]
@objc deinit
}
final public let socket: Swifter.Socket
public init(_ socket: Swifter.Socket)
@objc deinit
public func writeText(_ text: Swift.String)
public func writeBinary(_ binary: [Swift.UInt8])
public func writeBinary(_ binary: Swift.ArraySlice<Swift.UInt8>)
public func writeFrame(_ data: Swift.ArraySlice<Swift.UInt8>, _ op: Swifter.WebSocketSession.OpCode, _ fin: Swift.Bool = true)
public func writeCloseFrame()
public func readFrame() throws -> Swifter.WebSocketSession.Frame
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public func == (webSocketSession1: Swifter.WebSocketSession, webSocketSession2: Swifter.WebSocketSession) -> Swift.Bool
@_inheritsConvenienceInitializers open class HttpServer : Swifter.HttpServerIO {
public static let VERSION: Swift.String
override public init()
public var DELETE: Swifter.HttpServer.MethodRoute, PATCH: Swifter.HttpServer.MethodRoute, HEAD: Swifter.HttpServer.MethodRoute, POST: Swifter.HttpServer.MethodRoute, GET: Swifter.HttpServer.MethodRoute, PUT: Swifter.HttpServer.MethodRoute
public var delete: Swifter.HttpServer.MethodRoute, patch: Swifter.HttpServer.MethodRoute, head: Swifter.HttpServer.MethodRoute, post: Swifter.HttpServer.MethodRoute, get: Swifter.HttpServer.MethodRoute, put: Swifter.HttpServer.MethodRoute
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
public var routes: [Swift.String] {
get
}
public var notFoundHandler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?
public var middleware: [(Swifter.HttpRequest) -> Swifter.HttpResponse?]
override open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
public struct MethodRoute {
public let method: Swift.String
public let router: Swifter.HttpRouter
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
}
@objc deinit
}
public class HttpRequest {
public var path: Swift.String
public var queryParams: [(Swift.String, Swift.String)]
public var method: Swift.String
public var headers: [Swift.String : Swift.String]
public var body: [Swift.UInt8]
public var address: Swift.String?
public var params: [Swift.String : Swift.String]
public init()
public func hasTokenForHeader(_ headerName: Swift.String, token: Swift.String) -> Swift.Bool
public func parseUrlencodedForm() -> [(Swift.String, Swift.String)]
public struct MultiPart {
public let headers: [Swift.String : Swift.String]
public let body: [Swift.UInt8]
public var name: Swift.String? {
get
}
public var fileName: Swift.String? {
get
}
}
public func parseMultiPartFormData() -> [Swifter.HttpRequest.MultiPart]
@objc deinit
}
public func demoServer(_ publicDir: Swift.String) -> Swifter.HttpServer
extension Socket {
public func writeFile(_ file: Swift.String.File) throws
}
public enum SocketError : Swift.Error {
case socketCreationFailed(Swift.String)
case socketSettingReUseAddrFailed(Swift.String)
case bindFailed(Swift.String)
case listenFailed(Swift.String)
case writeFailed(Swift.String)
case getPeerNameFailed(Swift.String)
case convertingPeerNameFailed
case getNameInfoFailed(Swift.String)
case acceptFailed(Swift.String)
case recvFailed(Swift.String)
case getSockNameFailed(Swift.String)
}
open class Socket : Swift.Hashable, Swift.Equatable {
public init(socketFileDescriptor: Swift.Int32)
@objc deinit
public func hash(into hasher: inout Swift.Hasher)
public func close()
public func port() throws -> Darwin.in_port_t
public func isIPv4() throws -> Swift.Bool
public func writeUTF8(_ string: Swift.String) throws
public func writeUInt8(_ data: [Swift.UInt8]) throws
public func writeUInt8(_ data: Swift.ArraySlice<Swift.UInt8>) throws
public func writeData(_ data: Foundation.NSData) throws
public func writeData(_ data: Foundation.Data) throws
open func read() throws -> Swift.UInt8
open func read(length: Swift.Int) throws -> [Swift.UInt8]
public func readLine() throws -> Swift.String
public func peername() throws -> Swift.String
public class func setNoSigPipe(_ socket: Swift.Int32)
public class func close(_ socket: Swift.Int32)
open var hashValue: Swift.Int {
get
}
}
public func == (socket1: Swifter.Socket, socket2: Swifter.Socket) -> Swift.Bool
public protocol HttpServerIODelegate : AnyObject {
func socketConnectionReceived(_ socket: Swifter.Socket)
}
open class HttpServerIO {
weak public var delegate: Swifter.HttpServerIODelegate?
public enum HttpServerIOState : Swift.Int32 {
case starting
case running
case stopping
case stopped
public typealias RawValue = Swift.Int32
public init?(rawValue: Swift.Int32)
public var rawValue: Swift.Int32 {
get
}
}
public var state: Swifter.HttpServerIO.HttpServerIOState {
get
}
public var operating: Swift.Bool {
get
}
public var listenAddressIPv4: Swift.String?
public var listenAddressIPv6: Swift.String?
public func port() throws -> Swift.Int
public func isIPv4() throws -> Swift.Bool
public init()
@objc deinit
@available(OSX 10.10, *)
public func start(_ port: Darwin.in_port_t = 8080, forceIPv4: Swift.Bool = false, priority: Dispatch.DispatchQoS.QoSClass = DispatchQoS.QoSClass.background) throws
public func stop()
open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
}
public func shareFile(_ path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func shareFilesFromDirectory(_ directoryPath: Swift.String, defaults: [Swift.String] = ["index.html", "default.html"]) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func directoryBrowser(_ dir: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
open class HttpRouter {
public init()
public func routes() -> [Swift.String]
public func register(_ method: Swift.String?, path: Swift.String, handler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?)
public func route(_ method: Swift.String?, path: Swift.String) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)?
@objc deinit
}
extension NSURL {
public func mimeType() -> Swift.String
}
extension NSString {
public func mimeType() -> Swift.String
}
extension String {
public func mimeType() -> Swift.String
}
public struct SHA1 {
public static func hash(_ input: [Swift.UInt8]) -> [Swift.UInt8]
}
extension String {
public func sha1() -> [Swift.UInt8]
public func sha1() -> Swift.String
}
extension Socket {
public class func tcpSocketForListen(_ port: Darwin.in_port_t, _ forceIPv4: Swift.Bool = false, _ maxPendingConnection: Swift.Int32 = SOMAXCONN, _ listenAddress: Swift.String? = nil) throws -> Swifter.Socket
public func acceptClientSocket() throws -> Swifter.Socket
}
@_hasMissingDesignatedInitializers public class Errno {
public class func description() -> Swift.String
@objc deinit
}
extension String {
public static func toBase64(_ data: [Swift.UInt8]) -> Swift.String
}
extension Swifter.SerializationError : Swift.Equatable {}
extension Swifter.SerializationError : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.Equatable {}
extension Swifter.WebSocketSession.OpCode : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.RawRepresentable {}
extension Swifter.WebSocketSession.Control : Swift.Equatable {}
extension Swifter.WebSocketSession.Control : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Equatable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.RawRepresentable {}
@@ -0,0 +1,583 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target arm64-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Swifter
import Dispatch
import Foundation
import Swift
extension String {
public enum FileError : Swift.Error {
case error(Swift.Int32)
}
public class File {
public init(_ pointer: Swift.UnsafeMutablePointer<Darwin.FILE>)
public func close()
public func seek(_ offset: Swift.Int) -> Swift.Bool
public func read(_ data: inout [Swift.UInt8]) throws -> Swift.Int
public func write(_ data: [Swift.UInt8]) throws
public static func currentWorkingDirectory() throws -> Swift.String
@objc deinit
}
public static var pathSeparator: Swift.String
public func openNewForWriting() throws -> Swift.String.File
public func openForReading() throws -> Swift.String.File
public func openForWritingAndReading() throws -> Swift.String.File
public func openFileForMode(_ path: Swift.String, _ mode: Swift.String) throws -> Swift.String.File
public func exists() throws -> Swift.Bool
public func directory() throws -> Swift.Bool
public func files() throws -> [Swift.String]
}
public enum SerializationError : Swift.Error {
case invalidObject
case notSupported
public static func == (a: Swifter.SerializationError, b: Swifter.SerializationError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public protocol HttpResponseBodyWriter {
func write(_ file: Swift.String.File) throws
func write(_ data: [Swift.UInt8]) throws
func write(_ data: Swift.ArraySlice<Swift.UInt8>) throws
func write(_ data: Foundation.NSData) throws
func write(_ data: Foundation.Data) throws
}
public enum HttpResponseBody {
case json(Any)
case html(Swift.String)
case htmlBody(Swift.String)
case text(Swift.String)
case data(Foundation.Data, contentType: Swift.String? = nil)
case custom(Any, (Any) throws -> Swift.String)
}
public enum HttpResponse {
case switchProtocols([Swift.String : Swift.String], (Swifter.Socket) -> Swift.Void)
case ok(Swifter.HttpResponseBody), created, accepted
case movedPermanently(Swift.String)
case movedTemporarily(Swift.String)
case badRequest(Swifter.HttpResponseBody?), unauthorized, forbidden, notFound, notAcceptable
case tooManyRequests
case internalServerError
case raw(Swift.Int, Swift.String, [Swift.String : Swift.String]?, ((Swifter.HttpResponseBodyWriter) throws -> Swift.Void)?)
public var statusCode: Swift.Int {
get
}
public var reasonPhrase: Swift.String {
get
}
public func headers() -> [Swift.String : Swift.String]
}
public func scopes(_ scope: @escaping Swifter.Closure) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public typealias Closure = () -> Swift.Void
public var idd: Swift.String?
public var dir: Swift.String?
public var rel: Swift.String?
public var rev: Swift.String?
public var alt: Swift.String?
public var forr: Swift.String?
public var src: Swift.String?
public var type: Swift.String?
public var href: Swift.String?
public var text: Swift.String?
public var abbr: Swift.String?
public var size: Swift.String?
public var face: Swift.String?
public var char: Swift.String?
public var cite: Swift.String?
public var span: Swift.String?
public var data: Swift.String?
public var axis: Swift.String?
public var Name: Swift.String?
public var name: Swift.String?
public var code: Swift.String?
public var link: Swift.String?
public var lang: Swift.String?
public var cols: Swift.String?
public var rows: Swift.String?
public var ismap: Swift.String?
public var shape: Swift.String?
public var style: Swift.String?
public var alink: Swift.String?
public var width: Swift.String?
public var rules: Swift.String?
public var align: Swift.String?
public var frame: Swift.String?
public var vlink: Swift.String?
public var deferr: Swift.String?
public var color: Swift.String?
public var media: Swift.String?
public var title: Swift.String?
public var scope: Swift.String?
public var classs: Swift.String?
public var manifest: Swift.String?
public var value: Swift.String?
public var clear: Swift.String?
public var start: Swift.String?
public var label: Swift.String?
public var action: Swift.String?
public var height: Swift.String?
public var method: Swift.String?
public var acceptt: Swift.String?
public var object: Swift.String?
public var scheme: Swift.String?
public var coords: Swift.String?
public var usemap: Swift.String?
public var onblur: Swift.String?
public var nohref: Swift.String?
public var nowrap: Swift.String?
public var hspace: Swift.String?
public var border: Swift.String?
public var valign: Swift.String?
public var vspace: Swift.String?
public var onload: Swift.String?
public var target: Swift.String?
public var prompt: Swift.String?
public var onfocus: Swift.String?
public var enctype: Swift.String?
public var onclick: Swift.String?
public var ontouchstart: Swift.String?
public var onkeyup: Swift.String?
public var profile: Swift.String?
public var version: Swift.String?
public var onreset: Swift.String?
public var charset: Swift.String?
public var standby: Swift.String?
public var colspan: Swift.String?
public var charoff: Swift.String?
public var classid: Swift.String?
public var compact: Swift.String?
public var declare: Swift.String?
public var rowspan: Swift.String?
public var checked: Swift.String?
public var archive: Swift.String?
public var bgcolor: Swift.String?
public var content: Swift.String?
public var noshade: Swift.String?
public var summary: Swift.String?
public var headers: Swift.String?
public var onselect: Swift.String?
public var readonly: Swift.String?
public var tabindex: Swift.String?
public var onchange: Swift.String?
public var noresize: Swift.String?
public var disabled: Swift.String?
public var longdesc: Swift.String?
public var codebase: Swift.String?
public var language: Swift.String?
public var datetime: Swift.String?
public var selected: Swift.String?
public var hreflang: Swift.String?
public var onsubmit: Swift.String?
public var multiple: Swift.String?
public var onunload: Swift.String?
public var codetype: Swift.String?
public var scrolling: Swift.String?
public var onkeydown: Swift.String?
public var maxlength: Swift.String?
public var valuetype: Swift.String?
public var accesskey: Swift.String?
public var onmouseup: Swift.String?
public var autofocus: Swift.String?
public var onkeypress: Swift.String?
public var ondblclick: Swift.String?
public var onmouseout: Swift.String?
public var httpEquiv: Swift.String?
public var dataText: Swift.String?
public var background: Swift.String?
public var onmousemove: Swift.String?
public var onmouseover: Swift.String?
public var cellpadding: Swift.String?
public var onmousedown: Swift.String?
public var frameborder: Swift.String?
public var marginwidth: Swift.String?
public var cellspacing: Swift.String?
public var placeholder: Swift.String?
public var marginheight: Swift.String?
public var acceptCharset: Swift.String?
public var inner: Swift.String?
public func a(_ closure: () -> Swift.Void)
public func b(_ closure: () -> Swift.Void)
public func i(_ closure: () -> Swift.Void)
public func p(_ closure: () -> Swift.Void)
public func q(_ closure: () -> Swift.Void)
public func s(_ closure: () -> Swift.Void)
public func u(_ closure: () -> Swift.Void)
public func br(_ closure: () -> Swift.Void)
public func dd(_ closure: () -> Swift.Void)
public func dl(_ closure: () -> Swift.Void)
public func dt(_ closure: () -> Swift.Void)
public func em(_ closure: () -> Swift.Void)
public func hr(_ closure: () -> Swift.Void)
public func li(_ closure: () -> Swift.Void)
public func ol(_ closure: () -> Swift.Void)
public func rp(_ closure: () -> Swift.Void)
public func rt(_ closure: () -> Swift.Void)
public func td(_ closure: () -> Swift.Void)
public func th(_ closure: () -> Swift.Void)
public func tr(_ closure: () -> Swift.Void)
public func tt(_ closure: () -> Swift.Void)
public func ul(_ closure: () -> Swift.Void)
public func ul<T>(_ collection: T, _ closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func h1(_ closure: () -> Swift.Void)
public func h2(_ closure: () -> Swift.Void)
public func h3(_ closure: () -> Swift.Void)
public func h4(_ closure: () -> Swift.Void)
public func h5(_ closure: () -> Swift.Void)
public func h6(_ closure: () -> Swift.Void)
public func bdi(_ closure: () -> Swift.Void)
public func bdo(_ closure: () -> Swift.Void)
public func big(_ closure: () -> Swift.Void)
public func col(_ closure: () -> Swift.Void)
public func del(_ closure: () -> Swift.Void)
public func dfn(_ closure: () -> Swift.Void)
public func dir(_ closure: () -> Swift.Void)
public func div(_ closure: () -> Swift.Void)
public func img(_ closure: () -> Swift.Void)
public func ins(_ closure: () -> Swift.Void)
public func kbd(_ closure: () -> Swift.Void)
public func map(_ closure: () -> Swift.Void)
public func nav(_ closure: () -> Swift.Void)
public func pre(_ closure: () -> Swift.Void)
public func rtc(_ closure: () -> Swift.Void)
public func sub(_ closure: () -> Swift.Void)
public func sup(_ closure: () -> Swift.Void)
public func varr(_ closure: () -> Swift.Void)
public func wbr(_ closure: () -> Swift.Void)
public func xmp(_ closure: () -> Swift.Void)
public func abbr(_ closure: () -> Swift.Void)
public func area(_ closure: () -> Swift.Void)
public func base(_ closure: () -> Swift.Void)
public func body(_ closure: () -> Swift.Void)
public func cite(_ closure: () -> Swift.Void)
public func code(_ closure: () -> Swift.Void)
public func data(_ closure: () -> Swift.Void)
public func font(_ closure: () -> Swift.Void)
public func form(_ closure: () -> Swift.Void)
public func head(_ closure: () -> Swift.Void)
public func html(_ closure: () -> Swift.Void)
public func link(_ closure: () -> Swift.Void)
public func main(_ closure: () -> Swift.Void)
public func mark(_ closure: () -> Swift.Void)
public func menu(_ closure: () -> Swift.Void)
public func meta(_ closure: () -> Swift.Void)
public func nobr(_ closure: () -> Swift.Void)
public func ruby(_ closure: () -> Swift.Void)
public func samp(_ closure: () -> Swift.Void)
public func span(_ closure: () -> Swift.Void)
public func time(_ closure: () -> Swift.Void)
public func aside(_ closure: () -> Swift.Void)
public func audio(_ closure: () -> Swift.Void)
public func blink(_ closure: () -> Swift.Void)
public func embed(_ closure: () -> Swift.Void)
public func frame(_ closure: () -> Swift.Void)
public func image(_ closure: () -> Swift.Void)
public func input(_ closure: () -> Swift.Void)
public func label(_ closure: () -> Swift.Void)
public func meter(_ closure: () -> Swift.Void)
public func param(_ closure: () -> Swift.Void)
public func small(_ closure: () -> Swift.Void)
public func style(_ closure: () -> Swift.Void)
public func table(_ closure: () -> Swift.Void)
public func table<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tbody(_ closure: () -> Swift.Void)
public func tbody<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tfoot(_ closure: () -> Swift.Void)
public func thead(_ closure: () -> Swift.Void)
public func title(_ closure: () -> Swift.Void)
public func track(_ closure: () -> Swift.Void)
public func video(_ closure: () -> Swift.Void)
public func applet(_ closure: () -> Swift.Void)
public func button(_ closure: () -> Swift.Void)
public func canvas(_ closure: () -> Swift.Void)
public func center(_ closure: () -> Swift.Void)
public func dialog(_ closure: () -> Swift.Void)
public func figure(_ closure: () -> Swift.Void)
public func footer(_ closure: () -> Swift.Void)
public func header(_ closure: () -> Swift.Void)
public func hgroup(_ closure: () -> Swift.Void)
public func iframe(_ closure: () -> Swift.Void)
public func keygen(_ closure: () -> Swift.Void)
public func legend(_ closure: () -> Swift.Void)
public func object(_ closure: () -> Swift.Void)
public func option(_ closure: () -> Swift.Void)
public func output(_ closure: () -> Swift.Void)
public func script(_ closure: () -> Swift.Void)
public func select(_ closure: () -> Swift.Void)
public func shadow(_ closure: () -> Swift.Void)
public func source(_ closure: () -> Swift.Void)
public func spacer(_ closure: () -> Swift.Void)
public func strike(_ closure: () -> Swift.Void)
public func strong(_ closure: () -> Swift.Void)
public func acronym(_ closure: () -> Swift.Void)
public func address(_ closure: () -> Swift.Void)
public func article(_ closure: () -> Swift.Void)
public func bgsound(_ closure: () -> Swift.Void)
public func caption(_ closure: () -> Swift.Void)
public func command(_ closure: () -> Swift.Void)
public func content(_ closure: () -> Swift.Void)
public func details(_ closure: () -> Swift.Void)
public func elementt(_ closure: () -> Swift.Void)
public func isindex(_ closure: () -> Swift.Void)
public func listing(_ closure: () -> Swift.Void)
public func marquee(_ closure: () -> Swift.Void)
public func noembed(_ closure: () -> Swift.Void)
public func picture(_ closure: () -> Swift.Void)
public func section(_ closure: () -> Swift.Void)
public func summary(_ closure: () -> Swift.Void)
public func basefont(_ closure: () -> Swift.Void)
public func colgroup(_ closure: () -> Swift.Void)
public func datalist(_ closure: () -> Swift.Void)
public func fieldset(_ closure: () -> Swift.Void)
public func frameset(_ closure: () -> Swift.Void)
public func menuitem(_ closure: () -> Swift.Void)
public func multicol(_ closure: () -> Swift.Void)
public func noframes(_ closure: () -> Swift.Void)
public func noscript(_ closure: () -> Swift.Void)
public func optgroup(_ closure: () -> Swift.Void)
public func progress(_ closure: () -> Swift.Void)
public func template(_ closure: () -> Swift.Void)
public func textarea(_ closure: () -> Swift.Void)
public func plaintext(_ closure: () -> Swift.Void)
public func javascript(_ closure: () -> Swift.Void)
public func blockquote(_ closure: () -> Swift.Void)
public func figcaption(_ closure: () -> Swift.Void)
public func stylesheet(_ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ attrs: [Swift.String : Swift.String?] = [:], _ closure: () -> Swift.Void)
@_hasMissingDesignatedInitializers public class Process {
public static var pid: Swift.Int {
get
}
public static var tid: Swift.UInt64 {
get
}
public static func watchSignals(_ callback: @escaping (Swift.Int32) -> Swift.Void)
@objc deinit
}
public class HttpParser {
public init()
public func readHttpRequest(_ socket: Swifter.Socket) throws -> Swifter.HttpRequest
@objc deinit
}
extension String {
public func unquote() -> Swift.String
}
extension Unicode.Scalar {
public func asWhitespace() -> Swift.UInt8?
}
@available(*, deprecated, message: "Use websocket(text:binary:pong:connected:disconnected:) instead.")
public func websocket(_ text: @escaping (Swifter.WebSocketSession, Swift.String) -> Swift.Void, _ binary: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void, _ pong: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func websocket(text: ((Swifter.WebSocketSession, Swift.String) -> Swift.Void)? = nil, binary: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, pong: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, connected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil, disconnected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public class WebSocketSession : Swift.Hashable, Swift.Equatable {
public enum WsError : Swift.Error {
case unknownOpCode(Swift.String), unMaskedFrame(Swift.String), protocolError(Swift.String), invalidUTF8(Swift.String)
}
public enum OpCode : Swift.UInt8 {
case `continue`, close, ping, pong, text, binary
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public enum Control : Swift.Error {
case close
public static func == (a: Swifter.WebSocketSession.Control, b: Swifter.WebSocketSession.Control) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@_hasMissingDesignatedInitializers public class Frame {
public var opcode: Swifter.WebSocketSession.OpCode
public var fin: Swift.Bool
public var rsv1: Swift.UInt8
public var rsv2: Swift.UInt8
public var rsv3: Swift.UInt8
public var payload: [Swift.UInt8]
@objc deinit
}
final public let socket: Swifter.Socket
public init(_ socket: Swifter.Socket)
@objc deinit
public func writeText(_ text: Swift.String)
public func writeBinary(_ binary: [Swift.UInt8])
public func writeBinary(_ binary: Swift.ArraySlice<Swift.UInt8>)
public func writeFrame(_ data: Swift.ArraySlice<Swift.UInt8>, _ op: Swifter.WebSocketSession.OpCode, _ fin: Swift.Bool = true)
public func writeCloseFrame()
public func readFrame() throws -> Swifter.WebSocketSession.Frame
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public func == (webSocketSession1: Swifter.WebSocketSession, webSocketSession2: Swifter.WebSocketSession) -> Swift.Bool
@_inheritsConvenienceInitializers open class HttpServer : Swifter.HttpServerIO {
public static let VERSION: Swift.String
override public init()
public var DELETE: Swifter.HttpServer.MethodRoute, PATCH: Swifter.HttpServer.MethodRoute, HEAD: Swifter.HttpServer.MethodRoute, POST: Swifter.HttpServer.MethodRoute, GET: Swifter.HttpServer.MethodRoute, PUT: Swifter.HttpServer.MethodRoute
public var delete: Swifter.HttpServer.MethodRoute, patch: Swifter.HttpServer.MethodRoute, head: Swifter.HttpServer.MethodRoute, post: Swifter.HttpServer.MethodRoute, get: Swifter.HttpServer.MethodRoute, put: Swifter.HttpServer.MethodRoute
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
public var routes: [Swift.String] {
get
}
public var notFoundHandler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?
public var middleware: [(Swifter.HttpRequest) -> Swifter.HttpResponse?]
override open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
public struct MethodRoute {
public let method: Swift.String
public let router: Swifter.HttpRouter
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
}
@objc deinit
}
public class HttpRequest {
public var path: Swift.String
public var queryParams: [(Swift.String, Swift.String)]
public var method: Swift.String
public var headers: [Swift.String : Swift.String]
public var body: [Swift.UInt8]
public var address: Swift.String?
public var params: [Swift.String : Swift.String]
public init()
public func hasTokenForHeader(_ headerName: Swift.String, token: Swift.String) -> Swift.Bool
public func parseUrlencodedForm() -> [(Swift.String, Swift.String)]
public struct MultiPart {
public let headers: [Swift.String : Swift.String]
public let body: [Swift.UInt8]
public var name: Swift.String? {
get
}
public var fileName: Swift.String? {
get
}
}
public func parseMultiPartFormData() -> [Swifter.HttpRequest.MultiPart]
@objc deinit
}
public func demoServer(_ publicDir: Swift.String) -> Swifter.HttpServer
extension Socket {
public func writeFile(_ file: Swift.String.File) throws
}
public enum SocketError : Swift.Error {
case socketCreationFailed(Swift.String)
case socketSettingReUseAddrFailed(Swift.String)
case bindFailed(Swift.String)
case listenFailed(Swift.String)
case writeFailed(Swift.String)
case getPeerNameFailed(Swift.String)
case convertingPeerNameFailed
case getNameInfoFailed(Swift.String)
case acceptFailed(Swift.String)
case recvFailed(Swift.String)
case getSockNameFailed(Swift.String)
}
open class Socket : Swift.Hashable, Swift.Equatable {
public init(socketFileDescriptor: Swift.Int32)
@objc deinit
public func hash(into hasher: inout Swift.Hasher)
public func close()
public func port() throws -> Darwin.in_port_t
public func isIPv4() throws -> Swift.Bool
public func writeUTF8(_ string: Swift.String) throws
public func writeUInt8(_ data: [Swift.UInt8]) throws
public func writeUInt8(_ data: Swift.ArraySlice<Swift.UInt8>) throws
public func writeData(_ data: Foundation.NSData) throws
public func writeData(_ data: Foundation.Data) throws
open func read() throws -> Swift.UInt8
open func read(length: Swift.Int) throws -> [Swift.UInt8]
public func readLine() throws -> Swift.String
public func peername() throws -> Swift.String
public class func setNoSigPipe(_ socket: Swift.Int32)
public class func close(_ socket: Swift.Int32)
open var hashValue: Swift.Int {
get
}
}
public func == (socket1: Swifter.Socket, socket2: Swifter.Socket) -> Swift.Bool
public protocol HttpServerIODelegate : AnyObject {
func socketConnectionReceived(_ socket: Swifter.Socket)
}
open class HttpServerIO {
weak public var delegate: Swifter.HttpServerIODelegate?
public enum HttpServerIOState : Swift.Int32 {
case starting
case running
case stopping
case stopped
public typealias RawValue = Swift.Int32
public init?(rawValue: Swift.Int32)
public var rawValue: Swift.Int32 {
get
}
}
public var state: Swifter.HttpServerIO.HttpServerIOState {
get
}
public var operating: Swift.Bool {
get
}
public var listenAddressIPv4: Swift.String?
public var listenAddressIPv6: Swift.String?
public func port() throws -> Swift.Int
public func isIPv4() throws -> Swift.Bool
public init()
@objc deinit
@available(OSX 10.10, *)
public func start(_ port: Darwin.in_port_t = 8080, forceIPv4: Swift.Bool = false, priority: Dispatch.DispatchQoS.QoSClass = DispatchQoS.QoSClass.background) throws
public func stop()
open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
}
public func shareFile(_ path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func shareFilesFromDirectory(_ directoryPath: Swift.String, defaults: [Swift.String] = ["index.html", "default.html"]) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func directoryBrowser(_ dir: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
open class HttpRouter {
public init()
public func routes() -> [Swift.String]
public func register(_ method: Swift.String?, path: Swift.String, handler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?)
public func route(_ method: Swift.String?, path: Swift.String) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)?
@objc deinit
}
extension NSURL {
public func mimeType() -> Swift.String
}
extension NSString {
public func mimeType() -> Swift.String
}
extension String {
public func mimeType() -> Swift.String
}
public struct SHA1 {
public static func hash(_ input: [Swift.UInt8]) -> [Swift.UInt8]
}
extension String {
public func sha1() -> [Swift.UInt8]
public func sha1() -> Swift.String
}
extension Socket {
public class func tcpSocketForListen(_ port: Darwin.in_port_t, _ forceIPv4: Swift.Bool = false, _ maxPendingConnection: Swift.Int32 = SOMAXCONN, _ listenAddress: Swift.String? = nil) throws -> Swifter.Socket
public func acceptClientSocket() throws -> Swifter.Socket
}
@_hasMissingDesignatedInitializers public class Errno {
public class func description() -> Swift.String
@objc deinit
}
extension String {
public static func toBase64(_ data: [Swift.UInt8]) -> Swift.String
}
extension Swifter.SerializationError : Swift.Equatable {}
extension Swifter.SerializationError : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.Equatable {}
extension Swifter.WebSocketSession.OpCode : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.RawRepresentable {}
extension Swifter.WebSocketSession.Control : Swift.Equatable {}
extension Swifter.WebSocketSession.Control : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Equatable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.RawRepresentable {}
@@ -0,0 +1,583 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target armv7-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Swifter
import Dispatch
import Foundation
import Swift
extension String {
public enum FileError : Swift.Error {
case error(Swift.Int32)
}
public class File {
public init(_ pointer: Swift.UnsafeMutablePointer<Darwin.FILE>)
public func close()
public func seek(_ offset: Swift.Int) -> Swift.Bool
public func read(_ data: inout [Swift.UInt8]) throws -> Swift.Int
public func write(_ data: [Swift.UInt8]) throws
public static func currentWorkingDirectory() throws -> Swift.String
@objc deinit
}
public static var pathSeparator: Swift.String
public func openNewForWriting() throws -> Swift.String.File
public func openForReading() throws -> Swift.String.File
public func openForWritingAndReading() throws -> Swift.String.File
public func openFileForMode(_ path: Swift.String, _ mode: Swift.String) throws -> Swift.String.File
public func exists() throws -> Swift.Bool
public func directory() throws -> Swift.Bool
public func files() throws -> [Swift.String]
}
public enum SerializationError : Swift.Error {
case invalidObject
case notSupported
public static func == (a: Swifter.SerializationError, b: Swifter.SerializationError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public protocol HttpResponseBodyWriter {
func write(_ file: Swift.String.File) throws
func write(_ data: [Swift.UInt8]) throws
func write(_ data: Swift.ArraySlice<Swift.UInt8>) throws
func write(_ data: Foundation.NSData) throws
func write(_ data: Foundation.Data) throws
}
public enum HttpResponseBody {
case json(Any)
case html(Swift.String)
case htmlBody(Swift.String)
case text(Swift.String)
case data(Foundation.Data, contentType: Swift.String? = nil)
case custom(Any, (Any) throws -> Swift.String)
}
public enum HttpResponse {
case switchProtocols([Swift.String : Swift.String], (Swifter.Socket) -> Swift.Void)
case ok(Swifter.HttpResponseBody), created, accepted
case movedPermanently(Swift.String)
case movedTemporarily(Swift.String)
case badRequest(Swifter.HttpResponseBody?), unauthorized, forbidden, notFound, notAcceptable
case tooManyRequests
case internalServerError
case raw(Swift.Int, Swift.String, [Swift.String : Swift.String]?, ((Swifter.HttpResponseBodyWriter) throws -> Swift.Void)?)
public var statusCode: Swift.Int {
get
}
public var reasonPhrase: Swift.String {
get
}
public func headers() -> [Swift.String : Swift.String]
}
public func scopes(_ scope: @escaping Swifter.Closure) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public typealias Closure = () -> Swift.Void
public var idd: Swift.String?
public var dir: Swift.String?
public var rel: Swift.String?
public var rev: Swift.String?
public var alt: Swift.String?
public var forr: Swift.String?
public var src: Swift.String?
public var type: Swift.String?
public var href: Swift.String?
public var text: Swift.String?
public var abbr: Swift.String?
public var size: Swift.String?
public var face: Swift.String?
public var char: Swift.String?
public var cite: Swift.String?
public var span: Swift.String?
public var data: Swift.String?
public var axis: Swift.String?
public var Name: Swift.String?
public var name: Swift.String?
public var code: Swift.String?
public var link: Swift.String?
public var lang: Swift.String?
public var cols: Swift.String?
public var rows: Swift.String?
public var ismap: Swift.String?
public var shape: Swift.String?
public var style: Swift.String?
public var alink: Swift.String?
public var width: Swift.String?
public var rules: Swift.String?
public var align: Swift.String?
public var frame: Swift.String?
public var vlink: Swift.String?
public var deferr: Swift.String?
public var color: Swift.String?
public var media: Swift.String?
public var title: Swift.String?
public var scope: Swift.String?
public var classs: Swift.String?
public var manifest: Swift.String?
public var value: Swift.String?
public var clear: Swift.String?
public var start: Swift.String?
public var label: Swift.String?
public var action: Swift.String?
public var height: Swift.String?
public var method: Swift.String?
public var acceptt: Swift.String?
public var object: Swift.String?
public var scheme: Swift.String?
public var coords: Swift.String?
public var usemap: Swift.String?
public var onblur: Swift.String?
public var nohref: Swift.String?
public var nowrap: Swift.String?
public var hspace: Swift.String?
public var border: Swift.String?
public var valign: Swift.String?
public var vspace: Swift.String?
public var onload: Swift.String?
public var target: Swift.String?
public var prompt: Swift.String?
public var onfocus: Swift.String?
public var enctype: Swift.String?
public var onclick: Swift.String?
public var ontouchstart: Swift.String?
public var onkeyup: Swift.String?
public var profile: Swift.String?
public var version: Swift.String?
public var onreset: Swift.String?
public var charset: Swift.String?
public var standby: Swift.String?
public var colspan: Swift.String?
public var charoff: Swift.String?
public var classid: Swift.String?
public var compact: Swift.String?
public var declare: Swift.String?
public var rowspan: Swift.String?
public var checked: Swift.String?
public var archive: Swift.String?
public var bgcolor: Swift.String?
public var content: Swift.String?
public var noshade: Swift.String?
public var summary: Swift.String?
public var headers: Swift.String?
public var onselect: Swift.String?
public var readonly: Swift.String?
public var tabindex: Swift.String?
public var onchange: Swift.String?
public var noresize: Swift.String?
public var disabled: Swift.String?
public var longdesc: Swift.String?
public var codebase: Swift.String?
public var language: Swift.String?
public var datetime: Swift.String?
public var selected: Swift.String?
public var hreflang: Swift.String?
public var onsubmit: Swift.String?
public var multiple: Swift.String?
public var onunload: Swift.String?
public var codetype: Swift.String?
public var scrolling: Swift.String?
public var onkeydown: Swift.String?
public var maxlength: Swift.String?
public var valuetype: Swift.String?
public var accesskey: Swift.String?
public var onmouseup: Swift.String?
public var autofocus: Swift.String?
public var onkeypress: Swift.String?
public var ondblclick: Swift.String?
public var onmouseout: Swift.String?
public var httpEquiv: Swift.String?
public var dataText: Swift.String?
public var background: Swift.String?
public var onmousemove: Swift.String?
public var onmouseover: Swift.String?
public var cellpadding: Swift.String?
public var onmousedown: Swift.String?
public var frameborder: Swift.String?
public var marginwidth: Swift.String?
public var cellspacing: Swift.String?
public var placeholder: Swift.String?
public var marginheight: Swift.String?
public var acceptCharset: Swift.String?
public var inner: Swift.String?
public func a(_ closure: () -> Swift.Void)
public func b(_ closure: () -> Swift.Void)
public func i(_ closure: () -> Swift.Void)
public func p(_ closure: () -> Swift.Void)
public func q(_ closure: () -> Swift.Void)
public func s(_ closure: () -> Swift.Void)
public func u(_ closure: () -> Swift.Void)
public func br(_ closure: () -> Swift.Void)
public func dd(_ closure: () -> Swift.Void)
public func dl(_ closure: () -> Swift.Void)
public func dt(_ closure: () -> Swift.Void)
public func em(_ closure: () -> Swift.Void)
public func hr(_ closure: () -> Swift.Void)
public func li(_ closure: () -> Swift.Void)
public func ol(_ closure: () -> Swift.Void)
public func rp(_ closure: () -> Swift.Void)
public func rt(_ closure: () -> Swift.Void)
public func td(_ closure: () -> Swift.Void)
public func th(_ closure: () -> Swift.Void)
public func tr(_ closure: () -> Swift.Void)
public func tt(_ closure: () -> Swift.Void)
public func ul(_ closure: () -> Swift.Void)
public func ul<T>(_ collection: T, _ closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func h1(_ closure: () -> Swift.Void)
public func h2(_ closure: () -> Swift.Void)
public func h3(_ closure: () -> Swift.Void)
public func h4(_ closure: () -> Swift.Void)
public func h5(_ closure: () -> Swift.Void)
public func h6(_ closure: () -> Swift.Void)
public func bdi(_ closure: () -> Swift.Void)
public func bdo(_ closure: () -> Swift.Void)
public func big(_ closure: () -> Swift.Void)
public func col(_ closure: () -> Swift.Void)
public func del(_ closure: () -> Swift.Void)
public func dfn(_ closure: () -> Swift.Void)
public func dir(_ closure: () -> Swift.Void)
public func div(_ closure: () -> Swift.Void)
public func img(_ closure: () -> Swift.Void)
public func ins(_ closure: () -> Swift.Void)
public func kbd(_ closure: () -> Swift.Void)
public func map(_ closure: () -> Swift.Void)
public func nav(_ closure: () -> Swift.Void)
public func pre(_ closure: () -> Swift.Void)
public func rtc(_ closure: () -> Swift.Void)
public func sub(_ closure: () -> Swift.Void)
public func sup(_ closure: () -> Swift.Void)
public func varr(_ closure: () -> Swift.Void)
public func wbr(_ closure: () -> Swift.Void)
public func xmp(_ closure: () -> Swift.Void)
public func abbr(_ closure: () -> Swift.Void)
public func area(_ closure: () -> Swift.Void)
public func base(_ closure: () -> Swift.Void)
public func body(_ closure: () -> Swift.Void)
public func cite(_ closure: () -> Swift.Void)
public func code(_ closure: () -> Swift.Void)
public func data(_ closure: () -> Swift.Void)
public func font(_ closure: () -> Swift.Void)
public func form(_ closure: () -> Swift.Void)
public func head(_ closure: () -> Swift.Void)
public func html(_ closure: () -> Swift.Void)
public func link(_ closure: () -> Swift.Void)
public func main(_ closure: () -> Swift.Void)
public func mark(_ closure: () -> Swift.Void)
public func menu(_ closure: () -> Swift.Void)
public func meta(_ closure: () -> Swift.Void)
public func nobr(_ closure: () -> Swift.Void)
public func ruby(_ closure: () -> Swift.Void)
public func samp(_ closure: () -> Swift.Void)
public func span(_ closure: () -> Swift.Void)
public func time(_ closure: () -> Swift.Void)
public func aside(_ closure: () -> Swift.Void)
public func audio(_ closure: () -> Swift.Void)
public func blink(_ closure: () -> Swift.Void)
public func embed(_ closure: () -> Swift.Void)
public func frame(_ closure: () -> Swift.Void)
public func image(_ closure: () -> Swift.Void)
public func input(_ closure: () -> Swift.Void)
public func label(_ closure: () -> Swift.Void)
public func meter(_ closure: () -> Swift.Void)
public func param(_ closure: () -> Swift.Void)
public func small(_ closure: () -> Swift.Void)
public func style(_ closure: () -> Swift.Void)
public func table(_ closure: () -> Swift.Void)
public func table<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tbody(_ closure: () -> Swift.Void)
public func tbody<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tfoot(_ closure: () -> Swift.Void)
public func thead(_ closure: () -> Swift.Void)
public func title(_ closure: () -> Swift.Void)
public func track(_ closure: () -> Swift.Void)
public func video(_ closure: () -> Swift.Void)
public func applet(_ closure: () -> Swift.Void)
public func button(_ closure: () -> Swift.Void)
public func canvas(_ closure: () -> Swift.Void)
public func center(_ closure: () -> Swift.Void)
public func dialog(_ closure: () -> Swift.Void)
public func figure(_ closure: () -> Swift.Void)
public func footer(_ closure: () -> Swift.Void)
public func header(_ closure: () -> Swift.Void)
public func hgroup(_ closure: () -> Swift.Void)
public func iframe(_ closure: () -> Swift.Void)
public func keygen(_ closure: () -> Swift.Void)
public func legend(_ closure: () -> Swift.Void)
public func object(_ closure: () -> Swift.Void)
public func option(_ closure: () -> Swift.Void)
public func output(_ closure: () -> Swift.Void)
public func script(_ closure: () -> Swift.Void)
public func select(_ closure: () -> Swift.Void)
public func shadow(_ closure: () -> Swift.Void)
public func source(_ closure: () -> Swift.Void)
public func spacer(_ closure: () -> Swift.Void)
public func strike(_ closure: () -> Swift.Void)
public func strong(_ closure: () -> Swift.Void)
public func acronym(_ closure: () -> Swift.Void)
public func address(_ closure: () -> Swift.Void)
public func article(_ closure: () -> Swift.Void)
public func bgsound(_ closure: () -> Swift.Void)
public func caption(_ closure: () -> Swift.Void)
public func command(_ closure: () -> Swift.Void)
public func content(_ closure: () -> Swift.Void)
public func details(_ closure: () -> Swift.Void)
public func elementt(_ closure: () -> Swift.Void)
public func isindex(_ closure: () -> Swift.Void)
public func listing(_ closure: () -> Swift.Void)
public func marquee(_ closure: () -> Swift.Void)
public func noembed(_ closure: () -> Swift.Void)
public func picture(_ closure: () -> Swift.Void)
public func section(_ closure: () -> Swift.Void)
public func summary(_ closure: () -> Swift.Void)
public func basefont(_ closure: () -> Swift.Void)
public func colgroup(_ closure: () -> Swift.Void)
public func datalist(_ closure: () -> Swift.Void)
public func fieldset(_ closure: () -> Swift.Void)
public func frameset(_ closure: () -> Swift.Void)
public func menuitem(_ closure: () -> Swift.Void)
public func multicol(_ closure: () -> Swift.Void)
public func noframes(_ closure: () -> Swift.Void)
public func noscript(_ closure: () -> Swift.Void)
public func optgroup(_ closure: () -> Swift.Void)
public func progress(_ closure: () -> Swift.Void)
public func template(_ closure: () -> Swift.Void)
public func textarea(_ closure: () -> Swift.Void)
public func plaintext(_ closure: () -> Swift.Void)
public func javascript(_ closure: () -> Swift.Void)
public func blockquote(_ closure: () -> Swift.Void)
public func figcaption(_ closure: () -> Swift.Void)
public func stylesheet(_ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ attrs: [Swift.String : Swift.String?] = [:], _ closure: () -> Swift.Void)
@_hasMissingDesignatedInitializers public class Process {
public static var pid: Swift.Int {
get
}
public static var tid: Swift.UInt64 {
get
}
public static func watchSignals(_ callback: @escaping (Swift.Int32) -> Swift.Void)
@objc deinit
}
public class HttpParser {
public init()
public func readHttpRequest(_ socket: Swifter.Socket) throws -> Swifter.HttpRequest
@objc deinit
}
extension String {
public func unquote() -> Swift.String
}
extension Unicode.Scalar {
public func asWhitespace() -> Swift.UInt8?
}
@available(*, deprecated, message: "Use websocket(text:binary:pong:connected:disconnected:) instead.")
public func websocket(_ text: @escaping (Swifter.WebSocketSession, Swift.String) -> Swift.Void, _ binary: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void, _ pong: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func websocket(text: ((Swifter.WebSocketSession, Swift.String) -> Swift.Void)? = nil, binary: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, pong: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, connected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil, disconnected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public class WebSocketSession : Swift.Hashable, Swift.Equatable {
public enum WsError : Swift.Error {
case unknownOpCode(Swift.String), unMaskedFrame(Swift.String), protocolError(Swift.String), invalidUTF8(Swift.String)
}
public enum OpCode : Swift.UInt8 {
case `continue`, close, ping, pong, text, binary
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public enum Control : Swift.Error {
case close
public static func == (a: Swifter.WebSocketSession.Control, b: Swifter.WebSocketSession.Control) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@_hasMissingDesignatedInitializers public class Frame {
public var opcode: Swifter.WebSocketSession.OpCode
public var fin: Swift.Bool
public var rsv1: Swift.UInt8
public var rsv2: Swift.UInt8
public var rsv3: Swift.UInt8
public var payload: [Swift.UInt8]
@objc deinit
}
final public let socket: Swifter.Socket
public init(_ socket: Swifter.Socket)
@objc deinit
public func writeText(_ text: Swift.String)
public func writeBinary(_ binary: [Swift.UInt8])
public func writeBinary(_ binary: Swift.ArraySlice<Swift.UInt8>)
public func writeFrame(_ data: Swift.ArraySlice<Swift.UInt8>, _ op: Swifter.WebSocketSession.OpCode, _ fin: Swift.Bool = true)
public func writeCloseFrame()
public func readFrame() throws -> Swifter.WebSocketSession.Frame
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public func == (webSocketSession1: Swifter.WebSocketSession, webSocketSession2: Swifter.WebSocketSession) -> Swift.Bool
@_inheritsConvenienceInitializers open class HttpServer : Swifter.HttpServerIO {
public static let VERSION: Swift.String
override public init()
public var DELETE: Swifter.HttpServer.MethodRoute, PATCH: Swifter.HttpServer.MethodRoute, HEAD: Swifter.HttpServer.MethodRoute, POST: Swifter.HttpServer.MethodRoute, GET: Swifter.HttpServer.MethodRoute, PUT: Swifter.HttpServer.MethodRoute
public var delete: Swifter.HttpServer.MethodRoute, patch: Swifter.HttpServer.MethodRoute, head: Swifter.HttpServer.MethodRoute, post: Swifter.HttpServer.MethodRoute, get: Swifter.HttpServer.MethodRoute, put: Swifter.HttpServer.MethodRoute
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
public var routes: [Swift.String] {
get
}
public var notFoundHandler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?
public var middleware: [(Swifter.HttpRequest) -> Swifter.HttpResponse?]
override open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
public struct MethodRoute {
public let method: Swift.String
public let router: Swifter.HttpRouter
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
}
@objc deinit
}
public class HttpRequest {
public var path: Swift.String
public var queryParams: [(Swift.String, Swift.String)]
public var method: Swift.String
public var headers: [Swift.String : Swift.String]
public var body: [Swift.UInt8]
public var address: Swift.String?
public var params: [Swift.String : Swift.String]
public init()
public func hasTokenForHeader(_ headerName: Swift.String, token: Swift.String) -> Swift.Bool
public func parseUrlencodedForm() -> [(Swift.String, Swift.String)]
public struct MultiPart {
public let headers: [Swift.String : Swift.String]
public let body: [Swift.UInt8]
public var name: Swift.String? {
get
}
public var fileName: Swift.String? {
get
}
}
public func parseMultiPartFormData() -> [Swifter.HttpRequest.MultiPart]
@objc deinit
}
public func demoServer(_ publicDir: Swift.String) -> Swifter.HttpServer
extension Socket {
public func writeFile(_ file: Swift.String.File) throws
}
public enum SocketError : Swift.Error {
case socketCreationFailed(Swift.String)
case socketSettingReUseAddrFailed(Swift.String)
case bindFailed(Swift.String)
case listenFailed(Swift.String)
case writeFailed(Swift.String)
case getPeerNameFailed(Swift.String)
case convertingPeerNameFailed
case getNameInfoFailed(Swift.String)
case acceptFailed(Swift.String)
case recvFailed(Swift.String)
case getSockNameFailed(Swift.String)
}
open class Socket : Swift.Hashable, Swift.Equatable {
public init(socketFileDescriptor: Swift.Int32)
@objc deinit
public func hash(into hasher: inout Swift.Hasher)
public func close()
public func port() throws -> Darwin.in_port_t
public func isIPv4() throws -> Swift.Bool
public func writeUTF8(_ string: Swift.String) throws
public func writeUInt8(_ data: [Swift.UInt8]) throws
public func writeUInt8(_ data: Swift.ArraySlice<Swift.UInt8>) throws
public func writeData(_ data: Foundation.NSData) throws
public func writeData(_ data: Foundation.Data) throws
open func read() throws -> Swift.UInt8
open func read(length: Swift.Int) throws -> [Swift.UInt8]
public func readLine() throws -> Swift.String
public func peername() throws -> Swift.String
public class func setNoSigPipe(_ socket: Swift.Int32)
public class func close(_ socket: Swift.Int32)
open var hashValue: Swift.Int {
get
}
}
public func == (socket1: Swifter.Socket, socket2: Swifter.Socket) -> Swift.Bool
public protocol HttpServerIODelegate : AnyObject {
func socketConnectionReceived(_ socket: Swifter.Socket)
}
open class HttpServerIO {
weak public var delegate: Swifter.HttpServerIODelegate?
public enum HttpServerIOState : Swift.Int32 {
case starting
case running
case stopping
case stopped
public typealias RawValue = Swift.Int32
public init?(rawValue: Swift.Int32)
public var rawValue: Swift.Int32 {
get
}
}
public var state: Swifter.HttpServerIO.HttpServerIOState {
get
}
public var operating: Swift.Bool {
get
}
public var listenAddressIPv4: Swift.String?
public var listenAddressIPv6: Swift.String?
public func port() throws -> Swift.Int
public func isIPv4() throws -> Swift.Bool
public init()
@objc deinit
@available(OSX 10.10, *)
public func start(_ port: Darwin.in_port_t = 8080, forceIPv4: Swift.Bool = false, priority: Dispatch.DispatchQoS.QoSClass = DispatchQoS.QoSClass.background) throws
public func stop()
open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
}
public func shareFile(_ path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func shareFilesFromDirectory(_ directoryPath: Swift.String, defaults: [Swift.String] = ["index.html", "default.html"]) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func directoryBrowser(_ dir: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
open class HttpRouter {
public init()
public func routes() -> [Swift.String]
public func register(_ method: Swift.String?, path: Swift.String, handler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?)
public func route(_ method: Swift.String?, path: Swift.String) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)?
@objc deinit
}
extension NSURL {
public func mimeType() -> Swift.String
}
extension NSString {
public func mimeType() -> Swift.String
}
extension String {
public func mimeType() -> Swift.String
}
public struct SHA1 {
public static func hash(_ input: [Swift.UInt8]) -> [Swift.UInt8]
}
extension String {
public func sha1() -> [Swift.UInt8]
public func sha1() -> Swift.String
}
extension Socket {
public class func tcpSocketForListen(_ port: Darwin.in_port_t, _ forceIPv4: Swift.Bool = false, _ maxPendingConnection: Swift.Int32 = SOMAXCONN, _ listenAddress: Swift.String? = nil) throws -> Swifter.Socket
public func acceptClientSocket() throws -> Swifter.Socket
}
@_hasMissingDesignatedInitializers public class Errno {
public class func description() -> Swift.String
@objc deinit
}
extension String {
public static func toBase64(_ data: [Swift.UInt8]) -> Swift.String
}
extension Swifter.SerializationError : Swift.Equatable {}
extension Swifter.SerializationError : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.Equatable {}
extension Swifter.WebSocketSession.OpCode : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.RawRepresentable {}
extension Swifter.WebSocketSession.Control : Swift.Equatable {}
extension Swifter.WebSocketSession.Control : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Equatable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.RawRepresentable {}
@@ -0,0 +1,583 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
// swift-module-flags: -target armv7-apple-ios9.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name Swifter
import Dispatch
import Foundation
import Swift
extension String {
public enum FileError : Swift.Error {
case error(Swift.Int32)
}
public class File {
public init(_ pointer: Swift.UnsafeMutablePointer<Darwin.FILE>)
public func close()
public func seek(_ offset: Swift.Int) -> Swift.Bool
public func read(_ data: inout [Swift.UInt8]) throws -> Swift.Int
public func write(_ data: [Swift.UInt8]) throws
public static func currentWorkingDirectory() throws -> Swift.String
@objc deinit
}
public static var pathSeparator: Swift.String
public func openNewForWriting() throws -> Swift.String.File
public func openForReading() throws -> Swift.String.File
public func openForWritingAndReading() throws -> Swift.String.File
public func openFileForMode(_ path: Swift.String, _ mode: Swift.String) throws -> Swift.String.File
public func exists() throws -> Swift.Bool
public func directory() throws -> Swift.Bool
public func files() throws -> [Swift.String]
}
public enum SerializationError : Swift.Error {
case invalidObject
case notSupported
public static func == (a: Swifter.SerializationError, b: Swifter.SerializationError) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
public protocol HttpResponseBodyWriter {
func write(_ file: Swift.String.File) throws
func write(_ data: [Swift.UInt8]) throws
func write(_ data: Swift.ArraySlice<Swift.UInt8>) throws
func write(_ data: Foundation.NSData) throws
func write(_ data: Foundation.Data) throws
}
public enum HttpResponseBody {
case json(Any)
case html(Swift.String)
case htmlBody(Swift.String)
case text(Swift.String)
case data(Foundation.Data, contentType: Swift.String? = nil)
case custom(Any, (Any) throws -> Swift.String)
}
public enum HttpResponse {
case switchProtocols([Swift.String : Swift.String], (Swifter.Socket) -> Swift.Void)
case ok(Swifter.HttpResponseBody), created, accepted
case movedPermanently(Swift.String)
case movedTemporarily(Swift.String)
case badRequest(Swifter.HttpResponseBody?), unauthorized, forbidden, notFound, notAcceptable
case tooManyRequests
case internalServerError
case raw(Swift.Int, Swift.String, [Swift.String : Swift.String]?, ((Swifter.HttpResponseBodyWriter) throws -> Swift.Void)?)
public var statusCode: Swift.Int {
get
}
public var reasonPhrase: Swift.String {
get
}
public func headers() -> [Swift.String : Swift.String]
}
public func scopes(_ scope: @escaping Swifter.Closure) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public typealias Closure = () -> Swift.Void
public var idd: Swift.String?
public var dir: Swift.String?
public var rel: Swift.String?
public var rev: Swift.String?
public var alt: Swift.String?
public var forr: Swift.String?
public var src: Swift.String?
public var type: Swift.String?
public var href: Swift.String?
public var text: Swift.String?
public var abbr: Swift.String?
public var size: Swift.String?
public var face: Swift.String?
public var char: Swift.String?
public var cite: Swift.String?
public var span: Swift.String?
public var data: Swift.String?
public var axis: Swift.String?
public var Name: Swift.String?
public var name: Swift.String?
public var code: Swift.String?
public var link: Swift.String?
public var lang: Swift.String?
public var cols: Swift.String?
public var rows: Swift.String?
public var ismap: Swift.String?
public var shape: Swift.String?
public var style: Swift.String?
public var alink: Swift.String?
public var width: Swift.String?
public var rules: Swift.String?
public var align: Swift.String?
public var frame: Swift.String?
public var vlink: Swift.String?
public var deferr: Swift.String?
public var color: Swift.String?
public var media: Swift.String?
public var title: Swift.String?
public var scope: Swift.String?
public var classs: Swift.String?
public var manifest: Swift.String?
public var value: Swift.String?
public var clear: Swift.String?
public var start: Swift.String?
public var label: Swift.String?
public var action: Swift.String?
public var height: Swift.String?
public var method: Swift.String?
public var acceptt: Swift.String?
public var object: Swift.String?
public var scheme: Swift.String?
public var coords: Swift.String?
public var usemap: Swift.String?
public var onblur: Swift.String?
public var nohref: Swift.String?
public var nowrap: Swift.String?
public var hspace: Swift.String?
public var border: Swift.String?
public var valign: Swift.String?
public var vspace: Swift.String?
public var onload: Swift.String?
public var target: Swift.String?
public var prompt: Swift.String?
public var onfocus: Swift.String?
public var enctype: Swift.String?
public var onclick: Swift.String?
public var ontouchstart: Swift.String?
public var onkeyup: Swift.String?
public var profile: Swift.String?
public var version: Swift.String?
public var onreset: Swift.String?
public var charset: Swift.String?
public var standby: Swift.String?
public var colspan: Swift.String?
public var charoff: Swift.String?
public var classid: Swift.String?
public var compact: Swift.String?
public var declare: Swift.String?
public var rowspan: Swift.String?
public var checked: Swift.String?
public var archive: Swift.String?
public var bgcolor: Swift.String?
public var content: Swift.String?
public var noshade: Swift.String?
public var summary: Swift.String?
public var headers: Swift.String?
public var onselect: Swift.String?
public var readonly: Swift.String?
public var tabindex: Swift.String?
public var onchange: Swift.String?
public var noresize: Swift.String?
public var disabled: Swift.String?
public var longdesc: Swift.String?
public var codebase: Swift.String?
public var language: Swift.String?
public var datetime: Swift.String?
public var selected: Swift.String?
public var hreflang: Swift.String?
public var onsubmit: Swift.String?
public var multiple: Swift.String?
public var onunload: Swift.String?
public var codetype: Swift.String?
public var scrolling: Swift.String?
public var onkeydown: Swift.String?
public var maxlength: Swift.String?
public var valuetype: Swift.String?
public var accesskey: Swift.String?
public var onmouseup: Swift.String?
public var autofocus: Swift.String?
public var onkeypress: Swift.String?
public var ondblclick: Swift.String?
public var onmouseout: Swift.String?
public var httpEquiv: Swift.String?
public var dataText: Swift.String?
public var background: Swift.String?
public var onmousemove: Swift.String?
public var onmouseover: Swift.String?
public var cellpadding: Swift.String?
public var onmousedown: Swift.String?
public var frameborder: Swift.String?
public var marginwidth: Swift.String?
public var cellspacing: Swift.String?
public var placeholder: Swift.String?
public var marginheight: Swift.String?
public var acceptCharset: Swift.String?
public var inner: Swift.String?
public func a(_ closure: () -> Swift.Void)
public func b(_ closure: () -> Swift.Void)
public func i(_ closure: () -> Swift.Void)
public func p(_ closure: () -> Swift.Void)
public func q(_ closure: () -> Swift.Void)
public func s(_ closure: () -> Swift.Void)
public func u(_ closure: () -> Swift.Void)
public func br(_ closure: () -> Swift.Void)
public func dd(_ closure: () -> Swift.Void)
public func dl(_ closure: () -> Swift.Void)
public func dt(_ closure: () -> Swift.Void)
public func em(_ closure: () -> Swift.Void)
public func hr(_ closure: () -> Swift.Void)
public func li(_ closure: () -> Swift.Void)
public func ol(_ closure: () -> Swift.Void)
public func rp(_ closure: () -> Swift.Void)
public func rt(_ closure: () -> Swift.Void)
public func td(_ closure: () -> Swift.Void)
public func th(_ closure: () -> Swift.Void)
public func tr(_ closure: () -> Swift.Void)
public func tt(_ closure: () -> Swift.Void)
public func ul(_ closure: () -> Swift.Void)
public func ul<T>(_ collection: T, _ closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func h1(_ closure: () -> Swift.Void)
public func h2(_ closure: () -> Swift.Void)
public func h3(_ closure: () -> Swift.Void)
public func h4(_ closure: () -> Swift.Void)
public func h5(_ closure: () -> Swift.Void)
public func h6(_ closure: () -> Swift.Void)
public func bdi(_ closure: () -> Swift.Void)
public func bdo(_ closure: () -> Swift.Void)
public func big(_ closure: () -> Swift.Void)
public func col(_ closure: () -> Swift.Void)
public func del(_ closure: () -> Swift.Void)
public func dfn(_ closure: () -> Swift.Void)
public func dir(_ closure: () -> Swift.Void)
public func div(_ closure: () -> Swift.Void)
public func img(_ closure: () -> Swift.Void)
public func ins(_ closure: () -> Swift.Void)
public func kbd(_ closure: () -> Swift.Void)
public func map(_ closure: () -> Swift.Void)
public func nav(_ closure: () -> Swift.Void)
public func pre(_ closure: () -> Swift.Void)
public func rtc(_ closure: () -> Swift.Void)
public func sub(_ closure: () -> Swift.Void)
public func sup(_ closure: () -> Swift.Void)
public func varr(_ closure: () -> Swift.Void)
public func wbr(_ closure: () -> Swift.Void)
public func xmp(_ closure: () -> Swift.Void)
public func abbr(_ closure: () -> Swift.Void)
public func area(_ closure: () -> Swift.Void)
public func base(_ closure: () -> Swift.Void)
public func body(_ closure: () -> Swift.Void)
public func cite(_ closure: () -> Swift.Void)
public func code(_ closure: () -> Swift.Void)
public func data(_ closure: () -> Swift.Void)
public func font(_ closure: () -> Swift.Void)
public func form(_ closure: () -> Swift.Void)
public func head(_ closure: () -> Swift.Void)
public func html(_ closure: () -> Swift.Void)
public func link(_ closure: () -> Swift.Void)
public func main(_ closure: () -> Swift.Void)
public func mark(_ closure: () -> Swift.Void)
public func menu(_ closure: () -> Swift.Void)
public func meta(_ closure: () -> Swift.Void)
public func nobr(_ closure: () -> Swift.Void)
public func ruby(_ closure: () -> Swift.Void)
public func samp(_ closure: () -> Swift.Void)
public func span(_ closure: () -> Swift.Void)
public func time(_ closure: () -> Swift.Void)
public func aside(_ closure: () -> Swift.Void)
public func audio(_ closure: () -> Swift.Void)
public func blink(_ closure: () -> Swift.Void)
public func embed(_ closure: () -> Swift.Void)
public func frame(_ closure: () -> Swift.Void)
public func image(_ closure: () -> Swift.Void)
public func input(_ closure: () -> Swift.Void)
public func label(_ closure: () -> Swift.Void)
public func meter(_ closure: () -> Swift.Void)
public func param(_ closure: () -> Swift.Void)
public func small(_ closure: () -> Swift.Void)
public func style(_ closure: () -> Swift.Void)
public func table(_ closure: () -> Swift.Void)
public func table<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tbody(_ closure: () -> Swift.Void)
public func tbody<T>(_ collection: T, closure: @escaping (T.Iterator.Element) -> Swift.Void) where T : Swift.Sequence
public func tfoot(_ closure: () -> Swift.Void)
public func thead(_ closure: () -> Swift.Void)
public func title(_ closure: () -> Swift.Void)
public func track(_ closure: () -> Swift.Void)
public func video(_ closure: () -> Swift.Void)
public func applet(_ closure: () -> Swift.Void)
public func button(_ closure: () -> Swift.Void)
public func canvas(_ closure: () -> Swift.Void)
public func center(_ closure: () -> Swift.Void)
public func dialog(_ closure: () -> Swift.Void)
public func figure(_ closure: () -> Swift.Void)
public func footer(_ closure: () -> Swift.Void)
public func header(_ closure: () -> Swift.Void)
public func hgroup(_ closure: () -> Swift.Void)
public func iframe(_ closure: () -> Swift.Void)
public func keygen(_ closure: () -> Swift.Void)
public func legend(_ closure: () -> Swift.Void)
public func object(_ closure: () -> Swift.Void)
public func option(_ closure: () -> Swift.Void)
public func output(_ closure: () -> Swift.Void)
public func script(_ closure: () -> Swift.Void)
public func select(_ closure: () -> Swift.Void)
public func shadow(_ closure: () -> Swift.Void)
public func source(_ closure: () -> Swift.Void)
public func spacer(_ closure: () -> Swift.Void)
public func strike(_ closure: () -> Swift.Void)
public func strong(_ closure: () -> Swift.Void)
public func acronym(_ closure: () -> Swift.Void)
public func address(_ closure: () -> Swift.Void)
public func article(_ closure: () -> Swift.Void)
public func bgsound(_ closure: () -> Swift.Void)
public func caption(_ closure: () -> Swift.Void)
public func command(_ closure: () -> Swift.Void)
public func content(_ closure: () -> Swift.Void)
public func details(_ closure: () -> Swift.Void)
public func elementt(_ closure: () -> Swift.Void)
public func isindex(_ closure: () -> Swift.Void)
public func listing(_ closure: () -> Swift.Void)
public func marquee(_ closure: () -> Swift.Void)
public func noembed(_ closure: () -> Swift.Void)
public func picture(_ closure: () -> Swift.Void)
public func section(_ closure: () -> Swift.Void)
public func summary(_ closure: () -> Swift.Void)
public func basefont(_ closure: () -> Swift.Void)
public func colgroup(_ closure: () -> Swift.Void)
public func datalist(_ closure: () -> Swift.Void)
public func fieldset(_ closure: () -> Swift.Void)
public func frameset(_ closure: () -> Swift.Void)
public func menuitem(_ closure: () -> Swift.Void)
public func multicol(_ closure: () -> Swift.Void)
public func noframes(_ closure: () -> Swift.Void)
public func noscript(_ closure: () -> Swift.Void)
public func optgroup(_ closure: () -> Swift.Void)
public func progress(_ closure: () -> Swift.Void)
public func template(_ closure: () -> Swift.Void)
public func textarea(_ closure: () -> Swift.Void)
public func plaintext(_ closure: () -> Swift.Void)
public func javascript(_ closure: () -> Swift.Void)
public func blockquote(_ closure: () -> Swift.Void)
public func figcaption(_ closure: () -> Swift.Void)
public func stylesheet(_ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ closure: () -> Swift.Void)
public func element(_ node: Swift.String, _ attrs: [Swift.String : Swift.String?] = [:], _ closure: () -> Swift.Void)
@_hasMissingDesignatedInitializers public class Process {
public static var pid: Swift.Int {
get
}
public static var tid: Swift.UInt64 {
get
}
public static func watchSignals(_ callback: @escaping (Swift.Int32) -> Swift.Void)
@objc deinit
}
public class HttpParser {
public init()
public func readHttpRequest(_ socket: Swifter.Socket) throws -> Swifter.HttpRequest
@objc deinit
}
extension String {
public func unquote() -> Swift.String
}
extension Unicode.Scalar {
public func asWhitespace() -> Swift.UInt8?
}
@available(*, deprecated, message: "Use websocket(text:binary:pong:connected:disconnected:) instead.")
public func websocket(_ text: @escaping (Swifter.WebSocketSession, Swift.String) -> Swift.Void, _ binary: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void, _ pong: @escaping (Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func websocket(text: ((Swifter.WebSocketSession, Swift.String) -> Swift.Void)? = nil, binary: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, pong: ((Swifter.WebSocketSession, [Swift.UInt8]) -> Swift.Void)? = nil, connected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil, disconnected: ((Swifter.WebSocketSession) -> Swift.Void)? = nil) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public class WebSocketSession : Swift.Hashable, Swift.Equatable {
public enum WsError : Swift.Error {
case unknownOpCode(Swift.String), unMaskedFrame(Swift.String), protocolError(Swift.String), invalidUTF8(Swift.String)
}
public enum OpCode : Swift.UInt8 {
case `continue`, close, ping, pong, text, binary
public typealias RawValue = Swift.UInt8
public init?(rawValue: Swift.UInt8)
public var rawValue: Swift.UInt8 {
get
}
}
public enum Control : Swift.Error {
case close
public static func == (a: Swifter.WebSocketSession.Control, b: Swifter.WebSocketSession.Control) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
public func hash(into hasher: inout Swift.Hasher)
}
@_hasMissingDesignatedInitializers public class Frame {
public var opcode: Swifter.WebSocketSession.OpCode
public var fin: Swift.Bool
public var rsv1: Swift.UInt8
public var rsv2: Swift.UInt8
public var rsv3: Swift.UInt8
public var payload: [Swift.UInt8]
@objc deinit
}
final public let socket: Swifter.Socket
public init(_ socket: Swifter.Socket)
@objc deinit
public func writeText(_ text: Swift.String)
public func writeBinary(_ binary: [Swift.UInt8])
public func writeBinary(_ binary: Swift.ArraySlice<Swift.UInt8>)
public func writeFrame(_ data: Swift.ArraySlice<Swift.UInt8>, _ op: Swifter.WebSocketSession.OpCode, _ fin: Swift.Bool = true)
public func writeCloseFrame()
public func readFrame() throws -> Swifter.WebSocketSession.Frame
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
public func == (webSocketSession1: Swifter.WebSocketSession, webSocketSession2: Swifter.WebSocketSession) -> Swift.Bool
@_inheritsConvenienceInitializers open class HttpServer : Swifter.HttpServerIO {
public static let VERSION: Swift.String
override public init()
public var DELETE: Swifter.HttpServer.MethodRoute, PATCH: Swifter.HttpServer.MethodRoute, HEAD: Swifter.HttpServer.MethodRoute, POST: Swifter.HttpServer.MethodRoute, GET: Swifter.HttpServer.MethodRoute, PUT: Swifter.HttpServer.MethodRoute
public var delete: Swifter.HttpServer.MethodRoute, patch: Swifter.HttpServer.MethodRoute, head: Swifter.HttpServer.MethodRoute, post: Swifter.HttpServer.MethodRoute, get: Swifter.HttpServer.MethodRoute, put: Swifter.HttpServer.MethodRoute
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
public var routes: [Swift.String] {
get
}
public var notFoundHandler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?
public var middleware: [(Swifter.HttpRequest) -> Swifter.HttpResponse?]
override open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
public struct MethodRoute {
public let method: Swift.String
public let router: Swifter.HttpRouter
public subscript(path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)? {
get
set
}
}
@objc deinit
}
public class HttpRequest {
public var path: Swift.String
public var queryParams: [(Swift.String, Swift.String)]
public var method: Swift.String
public var headers: [Swift.String : Swift.String]
public var body: [Swift.UInt8]
public var address: Swift.String?
public var params: [Swift.String : Swift.String]
public init()
public func hasTokenForHeader(_ headerName: Swift.String, token: Swift.String) -> Swift.Bool
public func parseUrlencodedForm() -> [(Swift.String, Swift.String)]
public struct MultiPart {
public let headers: [Swift.String : Swift.String]
public let body: [Swift.UInt8]
public var name: Swift.String? {
get
}
public var fileName: Swift.String? {
get
}
}
public func parseMultiPartFormData() -> [Swifter.HttpRequest.MultiPart]
@objc deinit
}
public func demoServer(_ publicDir: Swift.String) -> Swifter.HttpServer
extension Socket {
public func writeFile(_ file: Swift.String.File) throws
}
public enum SocketError : Swift.Error {
case socketCreationFailed(Swift.String)
case socketSettingReUseAddrFailed(Swift.String)
case bindFailed(Swift.String)
case listenFailed(Swift.String)
case writeFailed(Swift.String)
case getPeerNameFailed(Swift.String)
case convertingPeerNameFailed
case getNameInfoFailed(Swift.String)
case acceptFailed(Swift.String)
case recvFailed(Swift.String)
case getSockNameFailed(Swift.String)
}
open class Socket : Swift.Hashable, Swift.Equatable {
public init(socketFileDescriptor: Swift.Int32)
@objc deinit
public func hash(into hasher: inout Swift.Hasher)
public func close()
public func port() throws -> Darwin.in_port_t
public func isIPv4() throws -> Swift.Bool
public func writeUTF8(_ string: Swift.String) throws
public func writeUInt8(_ data: [Swift.UInt8]) throws
public func writeUInt8(_ data: Swift.ArraySlice<Swift.UInt8>) throws
public func writeData(_ data: Foundation.NSData) throws
public func writeData(_ data: Foundation.Data) throws
open func read() throws -> Swift.UInt8
open func read(length: Swift.Int) throws -> [Swift.UInt8]
public func readLine() throws -> Swift.String
public func peername() throws -> Swift.String
public class func setNoSigPipe(_ socket: Swift.Int32)
public class func close(_ socket: Swift.Int32)
open var hashValue: Swift.Int {
get
}
}
public func == (socket1: Swifter.Socket, socket2: Swifter.Socket) -> Swift.Bool
public protocol HttpServerIODelegate : AnyObject {
func socketConnectionReceived(_ socket: Swifter.Socket)
}
open class HttpServerIO {
weak public var delegate: Swifter.HttpServerIODelegate?
public enum HttpServerIOState : Swift.Int32 {
case starting
case running
case stopping
case stopped
public typealias RawValue = Swift.Int32
public init?(rawValue: Swift.Int32)
public var rawValue: Swift.Int32 {
get
}
}
public var state: Swifter.HttpServerIO.HttpServerIOState {
get
}
public var operating: Swift.Bool {
get
}
public var listenAddressIPv4: Swift.String?
public var listenAddressIPv6: Swift.String?
public func port() throws -> Swift.Int
public func isIPv4() throws -> Swift.Bool
public init()
@objc deinit
@available(OSX 10.10, *)
public func start(_ port: Darwin.in_port_t = 8080, forceIPv4: Swift.Bool = false, priority: Dispatch.DispatchQoS.QoSClass = DispatchQoS.QoSClass.background) throws
public func stop()
open func dispatch(_ request: Swifter.HttpRequest) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)
}
public func shareFile(_ path: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func shareFilesFromDirectory(_ directoryPath: Swift.String, defaults: [Swift.String] = ["index.html", "default.html"]) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
public func directoryBrowser(_ dir: Swift.String) -> ((Swifter.HttpRequest) -> Swifter.HttpResponse)
open class HttpRouter {
public init()
public func routes() -> [Swift.String]
public func register(_ method: Swift.String?, path: Swift.String, handler: ((Swifter.HttpRequest) -> Swifter.HttpResponse)?)
public func route(_ method: Swift.String?, path: Swift.String) -> ([Swift.String : Swift.String], (Swifter.HttpRequest) -> Swifter.HttpResponse)?
@objc deinit
}
extension NSURL {
public func mimeType() -> Swift.String
}
extension NSString {
public func mimeType() -> Swift.String
}
extension String {
public func mimeType() -> Swift.String
}
public struct SHA1 {
public static func hash(_ input: [Swift.UInt8]) -> [Swift.UInt8]
}
extension String {
public func sha1() -> [Swift.UInt8]
public func sha1() -> Swift.String
}
extension Socket {
public class func tcpSocketForListen(_ port: Darwin.in_port_t, _ forceIPv4: Swift.Bool = false, _ maxPendingConnection: Swift.Int32 = SOMAXCONN, _ listenAddress: Swift.String? = nil) throws -> Swifter.Socket
public func acceptClientSocket() throws -> Swifter.Socket
}
@_hasMissingDesignatedInitializers public class Errno {
public class func description() -> Swift.String
@objc deinit
}
extension String {
public static func toBase64(_ data: [Swift.UInt8]) -> Swift.String
}
extension Swifter.SerializationError : Swift.Equatable {}
extension Swifter.SerializationError : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.Equatable {}
extension Swifter.WebSocketSession.OpCode : Swift.Hashable {}
extension Swifter.WebSocketSession.OpCode : Swift.RawRepresentable {}
extension Swifter.WebSocketSession.Control : Swift.Equatable {}
extension Swifter.WebSocketSession.Control : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Equatable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.Hashable {}
extension Swifter.HttpServerIO.HttpServerIOState : Swift.RawRepresentable {}

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