A Swift web framework and HTTP server.

Overview

Kitura

A Swift Web Framework and HTTP Server

Docs Build Status - Master macOS Linux Apache 2 codecov codebeat badge Slack Status

Summary

Kitura is a web framework and web server that is created for web services written in Swift. For more information, visit www.kitura.dev.

Table of Contents

Features

  • URL routing (e.g., GET, POST, PUT, DELETE, PATCH)
  • Codable routing
  • URL parameters
  • Static file serving
  • FastCGI support
  • SSL/TLS support
  • Pluggable middleware

Getting Started

Visit https://www.kitura.dev for a Getting Started guide, tutorials, and API reference documentation.

Contributing to Kitura

All improvements to Kitura are very welcome! Here's how to get started with developing Kitura itself.

  1. Clone this repository.

$ git clone https://github.com/Kitura/Kitura

  1. Build and run tests.

$ swift test

You can find more info on contributing to Kitura in our contributing guidelines.

Community

We love to talk server-side Swift, and Kitura. Join our Slack to meet the team!

Comments
  • API documentation not generated in Xcode 8.1

    API documentation not generated in Xcode 8.1

    Hi all,

    There seems to be an issue with Kitura and Xcode 8.1. Trying to access any Kitura framework classes or functions has an Xcode act like the framework doesn't exist.

    1. Autocomplete functionality is gone
    2. Command-clicking into a Kitura class to see the header instead goes nowhere (blank screen).
    3. Copy and pasting the Getting Started code compiles fine.
    4. Running an instance of the server and putting a breakpoint - any Kitura related variables are not able to be inspected or anything.

    Steps to Reproduce:

    1. Follow the Getting Started guide
    2. generate a .xcodeproj by running $ swift package generate-xcodeproj
    3. open xcode project
    4. try editing main.swift and observe Kitura not able to be autocompleted and not able to view the headers in the framework.

    If someone can be so kind as to try and reproduce what I am seeing...

    Cheers

    opened by dcilia 60
  • Build fails for swift-DEVELOPMENT-SNAPSHOT-2016-02-25-a

    Build fails for swift-DEVELOPMENT-SNAPSHOT-2016-02-25-a

    The problem does not occur when using swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a.

    When trying to build with swift-DEVELOPMENT-SNAPSHOT-2016-02-25-a on OSX 10.11.3, there's a problem with including http_parser.h file:

    Cloning https://github.com/IBM-Swift/Kitura-router.git
    Resolved version: 0.3.2
    Cloning https://github.com/IBM-Swift/Kitura-net.git
    Resolved version: 0.3.1
    Cloning https://github.com/IBM-Swift/Kitura-sys.git
    Resolved version: 0.3.0
    Cloning https://github.com/IBM-Swift/LoggerAPI.git
    Resolved version: 0.2.0
    Cloning https://github.com/IBM-Swift/BlueSocket.git
    Resolved version: 0.0.4
    Cloning https://github.com/IBM-Swift/Kitura-CurlHelpers.git
    Resolved version: 0.2.0
    Cloning https://github.com/IBM-Swift/Kitura-HttpParserHelper.git
    Resolved version: 0.2.0
    Cloning https://github.com/IBM-Swift/Kitura-Pcre2.git
    Resolved version: 0.2.0
    Cloning https://github.com/SwiftyJSON/SwiftyJSON.git
    Resolved version: 2.3.3
    Compiling Swift Module 'SwiftyJSON' (1 sources)
    Compiling Swift Module 'LoggerAPI' (1 sources)
    Compiling Swift Module 'BlueSocket' (3 sources)
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:37:68: warning: __FUNCTION__ is deprecated and will be removed in Swift 3, please use #function
        public static func verbose(msg: String, functionName: String = __FUNCTION__,
                                                                       ^~~~~~~~~~~~
                                                                       #function
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:38:24: warning: __LINE__ is deprecated and will be removed in Swift 3, please use #line
            lineNum: Int = __LINE__, fileName: String = __FILE__ ) {
                           ^~~~~~~~
                           #line
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:38:53: warning: __FILE__ is deprecated and will be removed in Swift 3, please use #file
            lineNum: Int = __LINE__, fileName: String = __FILE__ ) {
                                                        ^~~~~~~~
                                                        #file
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:43:64: warning: __FUNCTION__ is deprecated and will be removed in Swift 3, please use #function
        public class func info(msg: String, functionName: String = __FUNCTION__,
                                                                   ^~~~~~~~~~~~
                                                                   #function
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:44:24: warning: __LINE__ is deprecated and will be removed in Swift 3, please use #line
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                           ^~~~~~~~
                           #line
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:44:53: warning: __FILE__ is deprecated and will be removed in Swift 3, please use #file
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                                                        ^~~~~~~~
                                                        #file
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:49:67: warning: __FUNCTION__ is deprecated and will be removed in Swift 3, please use #function
        public class func warning(msg: String, functionName: String = __FUNCTION__,
                                                                      ^~~~~~~~~~~~
                                                                      #function
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:50:24: warning: __LINE__ is deprecated and will be removed in Swift 3, please use #line
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                           ^~~~~~~~
                           #line
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:50:53: warning: __FILE__ is deprecated and will be removed in Swift 3, please use #file
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                                                        ^~~~~~~~
                                                        #file
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:55:65: warning: __FUNCTION__ is deprecated and will be removed in Swift 3, please use #function
        public class func error(msg: String, functionName: String = __FUNCTION__,
                                                                    ^~~~~~~~~~~~
                                                                    #function
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:56:24: warning: __LINE__ is deprecated and will be removed in Swift 3, please use #line
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                           ^~~~~~~~
                           #line
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:56:53: warning: __FILE__ is deprecated and will be removed in Swift 3, please use #file
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                                                        ^~~~~~~~
                                                        #file
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:61:65: warning: __FUNCTION__ is deprecated and will be removed in Swift 3, please use #function
        public class func debug(msg: String, functionName: String = __FUNCTION__,
                                                                    ^~~~~~~~~~~~
                                                                    #function
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:62:24: warning: __LINE__ is deprecated and will be removed in Swift 3, please use #line
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                           ^~~~~~~~
                           #line
    /Users/user/MyProjects/Kitura-sample/Packages/LoggerAPI-0.2.0/Sources/LoggerAPI/Logger.swift:62:53: warning: __FILE__ is deprecated and will be removed in Swift 3, please use #file
            lineNum: Int = __LINE__, fileName: String = __FILE__) {
                                                        ^~~~~~~~
                                                        #file
    Compiling Swift Module 'KituraSys' (4 sources)
    Compiling Swift Module 'KituraNet' (12 sources)
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    <module-includes>:1:9: note: in file included from <module-includes>:1:
    #import "utils.h"
            ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-HttpParserHelper-0.2.0/utils.h:20:10: error: 'http_parser.h' file not found
    #include "http_parser.h"
             ^
    /Users/user/MyProjects/Kitura-sample/Packages/Kitura-net-0.3.1/Sources/KituraNet/HttpParser/HttpParser.swift:18:8: error: could not build Objective-C module 'http_parser_helper'
    import http_parser_helper
           ^
    /Users/user/MyProjects/Kitura-sample/Packages/SwiftyJSON-2.3.3/Source/SwiftyJSON.swift:399:47: warning: '++' is deprecated: it will be removed in Swift 3
                    return (String(self.arrayIndex++), JSON(o))
                                                  ^
    <unknown>:0: error: build had 1 command failures
    

    After changing the include in Kitura-HttpParserHelper-0.2.0/utils.h file from:

    #ifndef utils_h
    #define utils_h
    
    #include "http_parser.h"
    

    to

    #ifndef utils_h
    #define utils_h
    
    #include "/usr/local/include/http_parser.h"
    

    the file is being found.

    However, than we're failing on -lpcre2-8:

    Compiling Swift Module 'Kiturasample' (1 sources)
    Linking Kitura-sample
    ld: library not found for -lpcre2-8 for architecture x86_64
    <unknown>:0: error: build had 1 command failures
    

    which can be solved by changing `Kitura-Pcre2-0.2.0/module.modulemap' from

    module pcre2 [system] {
        header "common.h"
        header "/usr/local/include/pcre2.h"
        link "pcre2-8"
        export *
    }
    

    to

    module pcre2 [system] {
        header "common.h"
        header "/usr/local/include/pcre2.h"
        link "pcre"
        export *
    

    This makes swift build fail on familiar

    ld: library not found for -lcurlHelpers for architecture x86_64
    <unknown>:0: error: build had 1 command failures
    

    However, than when trying to make the Kitura-net-0.3.1/Makefile there's an error:

    Linking Kitura-sample
    ld: library not found for -lhttp_parser for architecture x86_64
    <unknown>:0: error: build had 1 command failures
    

    coming from Kitura-HttpParserHelper-0.2.0/module.modulemap link:

    module http_parser_helper {
        header "utils.h"
        link "http_parser"
        link "httpParserHelper"
        export *
    }
    

    which I have no idea how to solve right now. Do you know what might be a possible cause? The http_parser had been installed using brew. When building with swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a, the library is found and linked properly.

    bug build 
    opened by siejkowski 31
  • Reference types vs value types refactoring

    Reference types vs value types refactoring

    This ticket can be used for the refactoring of the data structures used in Kitura. Almost all of the data structures in Kitura are reference types (classes). Value-types offer many advantages such as:

    • Thread-safety, since references do not need to be locked on mutation.
    • No need for ARC, so possibility of memory cycles diminished.
    • Prevents users from turning to inheritance.
    • Compiler optimizations- allocation of memory cheap, usage with Copy on Write very fast.

    Building Better Apps with Value Types in Swift

    Determining which to use is somewhat complex issue. Hopefully with the ticket we can create some sort of decision-making process for determining which kind of type to use.

    Summary

    • Router

    Keep as a class, the exact same instance should be shared by modules.

    • RouterElement

    Change to struct. This would allow us to populate the Router.routeElems with structs instead of references which would use a Swift Array vs. NSArray. Safety and performance optimizations possible.

    • RouterMiddlewareGenerator

    Keep as class?

    • RouterRequest

    Change to struct.

    • RouterResponse

    Change to struct

    • ContentType

    Keep as class

    • StaticFileServer

    Keep as class ?

    • BodyParser

    Keep as class?

    question 
    opened by rfdickerson 27
  • Now that IBM is withdrawing from Swift, is Kitura going to die off?

    Now that IBM is withdrawing from Swift, is Kitura going to die off?

    Context and Description

    A description of the issue. As a new user of Kitura, and in light of the news IBM is going to withdraw from Swift I'm thinking about switching to Vapor, as I am very concerned now about putting a lot of effort into building something on a potentially dead end platform.

    Thoughts?

    Environment Details

    Information about your OS, Swift version and Xcode version if on macOS.

    Steps to Reproduce

    1. ...
    2. ... etc

    Expected vs. Actual Behaviour

    • [ ] Expected to happen...
    • [ ] Actually happened...
    opened by bhartsb 25
  • Kitura on Heroku

    Kitura on Heroku

    Hi! I'm building a Kitura app and I want to deploy it to Heroku I'm using DEVELOPMENT-SNAPSHOT-2016-03-24-a and https://github.com/kylef/heroku-buildpack-swift.git buildpack

    but I found this error about Dispatch module while compiling KituraSys can someone give me some help? Thank you :)

    remote: Compiling KituraSys
    remote: /tmp/build_daf57757ad8192bb59b6c59bc2bc27a3/Packages/Kitura-Sys-0.7.0/Sources/KituraSys/SysUtils.swift:17:8: error: no such module 'Dispatch'
    remote: import Dispatch
    remote:        ^
    remote: 
    <unknown>:0: error: build had 1 command failures
    remote: swift-build: error: exit(1): /app/tmp/cache/swiftenv/versions/DEVELOPMENT-SNAPSHOT-2016-03-24-a/usr/bin/swift-build-tool -f /tmp/build_daf57757ad8192bb59b6c59bc2bc27a3/.build/release.yaml default
    
    opened by joaoamaral 24
  • swift build error

    swift build error

    I'm having the same problem to #542 when following the https://github.com/IBM-Swift/Kitura#getting-started.

    I also downloaded the DEVELOPMENT-SNAPSHOT-2016-07-25-a .

    === Messages from the swift build command === Creating executable package: myFirstProject error: a manifest file already exists in this directory coustock-devui-MacBook-Air:myFirstProject coustock_dev$ swift build Cloning https://github.com/IBM-Swift/Kitura.git HEAD is now at f59a1a4 Update .travis.yml (#698) Resolved version: 0.26.1 Cloning https://github.com/IBM-Swift/Kitura-net.git warning: unable to rmdir Package-Builder: Directory not empty HEAD is now at e312591 updated dependency versions in Package.swift Resolved version: 0.26.0 Cloning https://github.com/IBM-Swift/Kitura-sys.git warning: unable to rmdir Package-Builder: Directory not empty HEAD is now at 67737a2 Migration 0725 (#10) Resolved version: 0.26.0 Cloning https://github.com/IBM-Swift/LoggerAPI.git HEAD is now at 98a5abd IBM-Swift/Kitura#646 - Added entry/exit logging (#11) Resolved version: 0.10.0 Cloning https://github.com/IBM-Swift/BlueSocket.git HEAD is now at 3c6b4fc Minor formatting errors as a result of the merge. Resolved version: 0.7.6 Cloning https://github.com/IBM-Swift/CCurl.git HEAD is now at 3330699 Removed use of pkgConfig and added system declaration Resolved version: 0.2.1 Cloning https://github.com/IBM-Swift/CHTTPParser.git HEAD is now at 429eff6 Merge pull request #7 from ianpartridge/master Resolved version: 0.3.0 Cloning https://github.com/IBM-Swift/SwiftyJSON.git warning: unable to rmdir Package-Builder: Directory not empty HEAD is now at 57621b4 Migration 0725 (#12) Resolved version: 11.0.0 Cloning https://github.com/IBM-Swift/Kitura-TemplateEngine.git HEAD is now at 6445fb7 DEVELOPMENT-SNAPSHOT-2016-07-25-a Resolved version: 0.26.0 Compile CHTTPParser utils.c Compile CHTTPParser http_parser.c Compile Swift Module 'KituraTemplateEngine' (1 sources) Compile Swift Module 'SwiftyJSON' (2 sources) Compile Swift Module 'Socket' (3 sources) Compile Swift Module 'LoggerAPI' (1 sources) Compile Swift Module 'KituraSys' (3 sources) Linking CHTTPParser /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Kitura-Sys-0.26.0/Sources/KituraSys/Group.swift:40:58: error: cannot convert value of type '() -> Void' to expected argument type 'DispatchWorkItem' queue.osQueue.async(group: osGroup, execute: block) ^~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Kitura-Sys-0.26.0/Sources/KituraSys/Queue.swift:67:36: error: passing non-escaping parameter 'block' to function expecting an @escaping closure osQueue.async(execute: block) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Kitura-Sys-0.26.0/Sources/KituraSys/Queue.swift:63:41: note: parameter 'block' is implicitly non-escaping public func enqueueAsynchronously(_ block: () -> Void) { ^ @escaping /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Kitura-Sys-0.26.0/Sources/KituraSys/StringUtils.swift:50:64: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. return cString != nil ? Data(bytes: UnsafePointer(cString!), count: Int(strlen(cString!))+1) : nil ^ Swift.UnsafePointer:7:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/LclJSONSerialization.swift:155:62: error: '.dynamicType' is deprecated. Use 'type(of: ...)' instead print("writeJsonValue: Unsupported type (obj.dynamicType)") ^~~~~~~~~~~~ type(of: ) /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:209:64: error: '.dynamicType' is deprecated. Use 'type(of: ...)' instead print("==> error=(error). type=(newValue.dynamicType)") ^~~~~~~~~~~~ type(of: ) /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/LclJSONSerialization.swift:155:62: error: '.dynamicType' is deprecated. Use 'type(of: ...)' instead print("writeJsonValue: Unsupported type (obj.dynamicType)") ^~~~~~~~~~~~ type(of: ) /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:209:64: error: '.dynamicType' is deprecated. Use 'type(of: ...)' instead print("==> error=(error). type=(newValue.dynamicType)") ^~~~~~~~~~~~ type(of: ) /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1633:28: error: 'init' has been renamed to 'init(describing:)' private let trueObjCType = String(trueNumber.objCType) ^ Swift.String:21:12: note: 'init' has been explicitly marked unavailable here public init(: T) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1634:29: error: 'init' has been renamed to 'init(describing:)' private let falseObjCType = String(falseNumber.objCType) ^ Swift.String:21:12: note: 'init' has been explicitly marked unavailable here public init(: T) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:91:59: error: value of type 'Any' does not conform to specified type 'AnyObject' let object: AnyObject = try JSONSerialization.jsonObject(with: data as Data, options: opt) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:389:47: error: 'rawArray' is inaccessible due to 'private' protection level return JSONIndex(arrayIndex: self.rawArray.startIndex) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:391:52: error: 'rawDictionary' is inaccessible due to 'private' protection level return JSONIndex(dictionaryIndex: self.rawDictionary.startIndex) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:400:47: error: 'rawArray' is inaccessible due to 'private' protection level return JSONIndex(arrayIndex: self.rawArray.endIndex) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:402:52: error: 'rawDictionary' is inaccessible due to 'private' protection level return JSONIndex(dictionaryIndex: self.rawDictionary.endIndex) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:411:47: error: 'rawArray' is inaccessible due to 'private' protection level return JSONIndex(arrayIndex: self.rawArray.index(after: i.arrayIndex!)) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:413:52: error: 'rawDictionary' is inaccessible due to 'private' protection level return JSONIndex(dictionaryIndex: self.rawDictionary.index(after: i.dictionaryIndex!)) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:422:60: error: 'rawArray' is inaccessible due to 'private' protection level return (String(position.arrayIndex), JSON(self.rawArray[position.arrayIndex!])) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:424:37: error: 'rawDictionary' is inaccessible due to 'private' protection level let (key, value) = self.rawDictionary[position.dictionaryIndex!] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:436:29: error: 'rawArray' is inaccessible due to 'private' protection level return self.rawArray.isEmpty ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:438:29: error: 'rawDictionary' is inaccessible due to 'private' protection level return self.rawDictionary.isEmpty ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:449:25: error: 'rawArray' is inaccessible due to 'private' protection level return self.rawArray.count ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:451:25: error: 'rawDictionary' is inaccessible due to 'private' protection level return self.rawDictionary.count ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:460:25: error: 'rawArray' is inaccessible due to 'private' protection level return self.rawArray.underestimatedCount ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:462:25: error: 'rawDictionary' is inaccessible due to 'private' protection level return self.rawDictionary.underestimatedCount ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:585:39: error: 'rawArray' is inaccessible due to 'private' protection level self.arrayGenerate = json.rawArray.makeIterator() ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:587:43: error: 'rawDictionary' is inaccessible due to 'private' protection level self.dictionayGenerate = json.rawDictionary.makeIterator() ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:646:19: error: '_error' is inaccessible due to 'private' protection level r._error = self._error ?? NSError(domain: ErrorDomain, code: ErrorWrongType, userInfo: [NSLocalizedDescriptionKey: "Array[(index)] failure, It is not an array" as AnyType]) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:157:17: note: '_error' declared here private var _error: NSError? = nil ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:648:50: error: 'rawArray' is inaccessible due to 'private' protection level } else if index >= 0 && index < self.rawArray.count { ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:649:34: error: 'rawArray' is inaccessible due to 'private' protection level return JSON(self.rawArray[index]) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:655:19: error: '_error' is inaccessible due to 'private' protection level r._error = NSError(domain: ErrorDomain, code:ErrorIndexOutOfBounds, userInfo: [NSLocalizedDescriptionKey as AnyObject as! NSObject: "Array[(index)] is out of bounds" as AnyObject]) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:157:17: note: '_error' declared here private var _error: NSError? = nil ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:662:25: error: 'rawArray' is inaccessible due to 'private' protection level if self.rawArray.count > index && newValue.error == nil { ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:663:26: error: 'rawArray' is inaccessible due to 'private' protection level self.rawArray[index] = newValue.object ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:674:33: error: 'rawDictionary' is inaccessible due to 'private' protection level if let o = self.rawDictionary[key] { ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:680:23: error: '_error' is inaccessible due to 'private' protection level r._error = NSError(domain: ErrorDomain, code: ErrorNotExist, userInfo: [NSLocalizedDescriptionKey as NSObject: "Dictionary["(key)"] does not exist" as AnyObject]) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:157:17: note: '_error' declared here private var _error: NSError? = nil ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:687:19: error: '_error' is inaccessible due to 'private' protection level r._error = self._error ?? NSError(domain: ErrorDomain, code: ErrorWrongType, userInfo: [NSLocalizedDescriptionKey as NSObject: "Dictionary["(key)"] failure, It is not an dictionary" as AnyObject]) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:157:17: note: '_error' declared here private var error: NSError? = nil ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:694:22: error: 'rawDictionary' is inaccessible due to 'private' protection level self.rawDictionary[key] = newValue.object ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:896:25: error: cannot convert return expression of type '(String.Encoding, JSONSerialization.WritingOptions) -> String?' to return type 'String?' return self.rawString ~~~~~^~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:898:25: error: 'rawNumber' is inaccessible due to 'private' protection level return self.rawNumber.stringValue ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:900:25: error: 'rawNumber' is inaccessible due to 'private' protection level return self.rawNumber.boolValue.description ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:936:29: error: 'rawArray' is inaccessible due to 'private' protection level return self.rawArray.map{ JSON($0) } ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:955:29: error: 'rawArray' is inaccessible due to 'private' protection level return self.rawArray ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:977:25: error: 'rawDictionary' is inaccessible due to 'private' protection level return self.rawDictionary.reduce(String : JSON) { (dictionary: [String : JSON], element: (String, AnyType)) -> [String : JSON] in ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:997:29: error: 'rawDictionary' is inaccessible due to 'private' protection level return self.rawDictionary ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1024:33: error: 'rawNumber' is inaccessible due to 'private' protection level return self.rawNumber.boolValue ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1143:29: error: 'rawNumber' is inaccessible due to 'private' protection level return self.rawNumber ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1200:29: error: 'rawNull' is inaccessible due to 'private' protection level return self.rawNull ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:153:17: note: 'rawNull' declared here private var rawNull: NSNull = NSNull() ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1230:53: error: value of type '(String.Encoding, JSONSerialization.WritingOptions) -> String?' has no member 'addingPercentEncoding' guard let encodedString = self.rawString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) else { ~~~~~^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1245:52: warning: conditional cast from 'String?' to 'AnyObject' always succeeds self.object = newValue?.absoluteString as? AnyObject ?? NSNull() ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1245:66: warning: left side of nil coalescing operator '??' has non-optional type 'AnyObject', so the right side is never used self.object = newValue?.absoluteString as? AnyObject ?? NSNull() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~

    /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1527:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber == rhs.rawNumber ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1529:30: error: binary operator '==' cannot be applied to two '(String.Encoding, JSONSerialization.WritingOptions) -> String?' operands return lhs.rawString == rhs.rawString ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1529:30: note: overloads for '==' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (Any.Type?, Any.Type?), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (UnsafeMutableRawPointer, UnsafeMutableRawPointer), (UnsafeRawPointer, UnsafeRawPointer), (Bool, Bool), (Character, Character), (OpaquePointer, OpaquePointer), (FloatingPointClassification, FloatingPointClassification), (FloatingPointRoundingRule, FloatingPointRoundingRule), (AnyHashable, AnyHashable), (ObjectIdentifier, ObjectIdentifier), (MirrorDisposition, MirrorDisposition), (String, String), (Index, Index), (String.UnicodeScalarView.Index, String.UnicodeScalarView.Index), (String.UTF16View.Index, String.UTF16View.Index), (String.UTF8View.Index, String.UTF8View.Index), (UnicodeDecodingResult, UnicodeDecodingResult), (UnicodeScalar, UnicodeScalar), (SwiftNSOperatingSystemVersion, SwiftNSOperatingSystemVersion), (AnyIndex, AnyIndex), (Mirror.DisplayStyle, Mirror.DisplayStyle), (GenericObjCError, GenericObjCError), (AffineTransform, AffineTransform), (Calendar.Identifier, Calendar.Identifier), (Calendar.Component, Calendar.Component), (Calendar.SearchDirection, Calendar.SearchDirection), (Calendar.RepeatedTimePolicy, Calendar.RepeatedTimePolicy), (Calendar.MatchingPolicy, Calendar.MatchingPolicy), (Calendar, Calendar), (TimeZone, TimeZone), (Locale, Locale), (CharacterSet, CharacterSet), (Date, Date), (DateComponents, DateComponents), (DateInterval, DateInterval), (Data, Data), (Decimal, Decimal), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (IndexSet.RangeView, IndexSet.RangeView), (IndexSet, IndexSet), (Notification, Notification), (String.Encoding, String.Encoding), (PersonNameComponents, PersonNameComponents), (URL, URL), (URLComponents, URLComponents), (URLQueryItem, URLQueryItem), (URLRequest, URLRequest), (UUID, UUID), (DarwinBoolean, DarwinBoolean), (DispatchQoS, DispatchQoS), (DispatchTime, DispatchTime), (DispatchWallTime, DispatchWallTime), (DispatchQoS.QoSClass, DispatchQoS.QoSClass), (DispatchTimeoutResult, DispatchTimeoutResult), (DispatchQueue.GlobalQueuePriority, DispatchQueue.GlobalQueuePriority), (DispatchQueue.AutoreleaseFrequency, DispatchQueue.AutoreleaseFrequency), (Selector, Selector), (NSObject, NSObject), (CGAffineTransform, CGAffineTransform), (CGColor, CGColor), (CGPoint, CGPoint), (CGSize, CGSize), (CGVector, CGVector), (CGRect, CGRect), (CGPath, CGPath), (ContiguousArray, ContiguousArray), (ArraySlice, ArraySlice), (Array, Array), (AutoreleasingUnsafeMutablePointer, AutoreleasingUnsafeMutablePointer), (HeapBuffer<Value, Element>, HeapBuffer<Value, Element>), (ManagedBufferPointer<Header, Element>, ManagedBufferPointer<Header, Element>), (T?, T?), (T?, OptionalNilComparisonType), (OptionalNilComparisonType, T?), (UnsafeMutablePointer, UnsafeMutablePointer), (UnsafePointer, UnsafePointer), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (ClosedRangeIndex, ClosedRangeIndex), (EmptyCollection, EmptyCollection), (LazyFilterIndex, LazyFilterIndex), (FlattenCollectionIndex, FlattenCollectionIndex), (FlattenBidirectionalCollectionIndex, FlattenBidirectionalCollectionIndex), (Set, Set), ([Key : Value], [Key : Value]), (SetIndex, SetIndex), (DictionaryIndex<Key, Value>, DictionaryIndex<Key, Value>), (Range, Range), (CountableRange, CountableRange), (ClosedRange, ClosedRange), (CountableClosedRange, CountableClosedRange), (ReversedIndex, ReversedIndex), (ReversedRandomAccessIndex, ReversedRandomAccessIndex), (Measurement, Measurement) return lhs.rawString == rhs.rawString ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1531:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber.boolValue == rhs.rawNumber.boolValue ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1536:20: error: 'rawArray' is inaccessible due to 'private' protection level return lhs.rawArray as NSArray == rhs.rawArray as NSArray ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1542:20: error: 'rawDictionary' is inaccessible due to 'private' protection level return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1555:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber <= rhs.rawNumber ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1557:30: error: binary operator '<=' cannot be applied to two '(String.Encoding, JSONSerialization.WritingOptions) -> String?' operands return lhs.rawString <= rhs.rawString ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1557:30: note: overloads for '<=' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (LazyFilterIndex, LazyFilterIndex) return lhs.rawString <= rhs.rawString ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1559:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber.boolValue == rhs.rawNumber.boolValue ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1564:20: error: 'rawArray' is inaccessible due to 'private' protection level return lhs.rawArray as NSArray == rhs.rawArray as NSArray ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1570:20: error: 'rawDictionary' is inaccessible due to 'private' protection level return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1583:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber >= rhs.rawNumber ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1585:30: error: binary operator '>=' cannot be applied to two '(String.Encoding, JSONSerialization.WritingOptions) -> String?' operands return lhs.rawString >= rhs.rawString ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1585:30: note: overloads for '>=' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (SwiftNSOperatingSystemVersion, SwiftNSOperatingSystemVersion), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (LazyFilterIndex, LazyFilterIndex) return lhs.rawString >= rhs.rawString ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1587:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber.boolValue == rhs.rawNumber.boolValue ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1592:20: error: 'rawArray' is inaccessible due to 'private' protection level return lhs.rawArray as NSArray == rhs.rawArray as NSArray ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:303:17: note: 'rawArray' declared here private var rawArray: [AnyObject] = [] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1598:20: error: 'rawDictionary' is inaccessible due to 'private' protection level return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:304:17: note: 'rawDictionary' declared here private var rawDictionary: [String : AnyObject] = [:] ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1611:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber > rhs.rawNumber ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1613:30: error: binary operator '>' cannot be applied to two '(String.Encoding, JSONSerialization.WritingOptions) -> String?' operands return lhs.rawString > rhs.rawString ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1613:30: note: overloads for '>' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (Date, Date), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (LazyFilterIndex, LazyFilterIndex) return lhs.rawString > rhs.rawString ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1623:20: error: 'rawNumber' is inaccessible due to 'private' protection level return lhs.rawNumber < rhs.rawNumber ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:152:17: note: 'rawNumber' declared here private var rawNumber: NSNumber = 0 ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1625:30: error: binary operator '<' cannot be applied to two '(String.Encoding, JSONSerialization.WritingOptions) -> String?' operands return lhs.rawString < rhs.rawString ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1625:30: note: overloads for '<' exist with these partially matching parameter lists: (JSONIndex, JSONIndex), (JSON, JSON), (NSNumber, NSNumber), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UInt32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (UnsafeMutableRawPointer, UnsafeMutableRawPointer), (UnsafeRawPointer, UnsafeRawPointer), (Character, Character), (ObjectIdentifier, ObjectIdentifier), (String, String), (Index, Index), (String.UnicodeScalarView.Index, String.UnicodeScalarView.Index), (String.UTF16View.Index, String.UTF16View.Index), (String.UTF8View.Index, String.UTF8View.Index), (UnicodeScalar, UnicodeScalar), (SwiftNSOperatingSystemVersion, SwiftNSOperatingSystemVersion), (AnyIndex, AnyIndex), (Date, Date), (DateInterval, DateInterval), (Decimal, Decimal), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (DispatchTime, DispatchTime), (DispatchWallTime, DispatchWallTime), (UnsafeMutablePointer, UnsafeMutablePointer), (UnsafePointer, UnsafePointer), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A, B, C, D, E, F)), (ClosedRangeIndex, ClosedRangeIndex), (LazyFilterIndex, LazyFilterIndex), (FlattenCollectionIndex, FlattenCollectionIndex), (FlattenBidirectionalCollectionIndex, FlattenBidirectionalCollectionIndex), (SetIndex, SetIndex), (DictionaryIndex<Key, Value>, DictionaryIndex<Key, Value>), (ReversedIndex, ReversedIndex), (ReversedRandomAccessIndex, ReversedRandomAccessIndex), (Measurement, Measurement) return lhs.rawString < rhs.rawString ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/SwiftyJSON-11.0.0/Source/SwiftyJSON.swift:1651:28: error: 'init' has been renamed to 'init(describing:)' let objCType = String(self.objCType) ^ Swift.String:21:12: note: 'init' has been explicitly marked unavailable here public init(: T) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:41:14: error: 'withUnsafePointer' has been renamed to 'withUnsafePointer(to::)' let addr = withUnsafePointer(&temp) { ^~~~~~~~~~~~~~~~~ withUnsafePointer to: Swift.withUnsafePointer:2:13: note: 'withUnsafePointer' has been explicitly marked unavailable here public func withUnsafePointer<T, Result>( arg: inout T, _ body: (UnsafePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:42:33: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. return UnsafePointer($0).pointee ^ Swift.UnsafePointer:7:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:55:14: error: 'withUnsafePointer' has been renamed to 'withUnsafePointer(to::)' let addr = withUnsafePointer(&temp) { ^~~~~~~~~~~~~~~~~ withUnsafePointer to: Swift.withUnsafePointer:2:13: note: 'withUnsafePointer' has been explicitly marked unavailable here public func withUnsafePointer<T, Result>( arg: inout T, _ body: (UnsafePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:56:36: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. return UnsafePointer<sockaddr_in>($0).pointee ^ Swift.UnsafePointer:7:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:69:14: error: 'withUnsafePointer' has been renamed to 'withUnsafePointer(to::)' let addr = withUnsafePointer(&temp) { ^~~~~~~~~~~~~~~~~ withUnsafePointer to: Swift.withUnsafePointer:2:13: note: 'withUnsafePointer' has been explicitly marked unavailable here public func withUnsafePointer<T, Result>( arg: inout T, _ body: (UnsafePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:70:37: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. return UnsafePointer<sockaddr_in6>($0).pointee ^ Swift.UnsafePointer:7:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:88:14: error: 'withUnsafePointer' has been renamed to 'withUnsafePointer(to::)' let addr = withUnsafePointer(&temp) { ^~~~~~~~~~~~~~~~~ withUnsafePointer to: Swift.withUnsafePointer:2:13: note: 'withUnsafePointer' has been explicitly marked unavailable here public func withUnsafePointer<T, Result>(_ arg: inout T, _ body: (UnsafePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:89:33: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. return UnsafePointer($0).pointee ^ Swift.UnsafePointer:7:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:107:14: error: 'withUnsafePointer' has been renamed to 'withUnsafePointer(to::)' let addr = withUnsafePointer(&temp) { ^~~~~~~~~~~~~~~~~ withUnsafePointer to: Swift.withUnsafePointer:2:13: note: 'withUnsafePointer' has been explicitly marked unavailable here public func withUnsafePointer<T, Result>( arg: inout T, _ body: (UnsafePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketUtils.swift:108:33: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. return UnsafePointer($0).pointee ^ Swift.UnsafePointer:7:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1999:55: warning: UnsafePointer has been replaced by UnsafeRawPointer @discardableResult public func write(from buffer: UnsafePointer, bufSize: Int) throws -> Int { ^~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:2127:33: warning: UnsafePointer has been replaced by UnsafeRawPointer public func write(from buffer: UnsafePointer, bufSize: Int, to addresss: Address) throws { ^~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:122:20: warning: UnsafePointer has been replaced by UnsafeRawPointer func send(buffer: UnsafePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:122:20: warning: UnsafePointer has been replaced by UnsafeRawPointer func send(buffer: UnsafePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:122:20: warning: UnsafePointer has been replaced by UnsafeRawPointer func send(buffer: UnsafePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:133:20: warning: UnsafeMutablePointer has been replaced by UnsafeMutableRawPointer func recv(buffer: UnsafeMutablePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~~~~~~~~ UnsafeMutableRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:133:20: warning: UnsafeMutablePointer has been replaced by UnsafeMutableRawPointer func recv(buffer: UnsafeMutablePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~~~~~~~~ UnsafeMutableRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:133:20: warning: UnsafeMutablePointer has been replaced by UnsafeMutableRawPointer func recv(buffer: UnsafeMutablePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~~~~~~~~ UnsafeMutableRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:286:12: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. return sizeofValue(addr) ^~~~~~~~~~~~~~~~~ MemoryLayout<(sockaddr_in)>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:288:12: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. return sizeofValue(addr) ^~~~~~~~~~~~~~~~~ MemoryLayout<(sockaddr_in6)>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:975:25: error: 'Socket.Signature?' initializer is inaccessible due to 'private' protection level try self.signature = Signature( ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:432:11: note: 'init' declared here private init?(protocolFamily: Int32, socketType: Int32, proto: Int32, address: Address?, hostname: String?, port: Int32?) throws { ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1029:30: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. var addrSize = socklen_t(sizeofValue(acceptAddr)) ^~~~~~~~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1036:15: error: 'withUnsafeMutablePointer' has been renamed to 'withUnsafeMutablePointer(to::)' let fd = withUnsafeMutablePointer(&acceptAddr) { ^~~~~~~~~~~~~~~~~~~~~~~~ withUnsafeMutablePointer to: Swift.withUnsafeMutablePointer:2:13: note: 'withUnsafeMutablePointer' has been explicitly marked unavailable here public func withUnsafeMutablePointer<T, Result>( arg: inout T, _ body: (UnsafeMutablePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1037:36: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. Darwin.accept(self.socketfd, UnsafeMutablePointer($0), &addrSize) ^~~~~~~~~~~~~~~~~~~~ Swift.UnsafeMutablePointer:3:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafeMutablePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1053:30: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. var addrSize = socklen_t(sizeofValue(acceptAddr)) ^~~~~~~~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in6>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1060:15: error: 'withUnsafeMutablePointer' has been renamed to 'withUnsafeMutablePointer(to::)' let fd = withUnsafeMutablePointer(&acceptAddr) { ^~~~~~~~~~~~~~~~~~~~~~~~ withUnsafeMutablePointer to: Swift.withUnsafeMutablePointer:2:13: note: 'withUnsafeMutablePointer' has been explicitly marked unavailable here public func withUnsafeMutablePointer<T, Result>( arg: inout T, _ body: (UnsafeMutablePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1061:36: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. Darwin.accept(self.socketfd, UnsafeMutablePointer($0), &addrSize) ^~~~~~~~~~~~~~~~~~~~ Swift.UnsafeMutablePointer:3:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafeMutablePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1090:35: error: cannot assign to property: 'isSecure' setter is inaccessible newSocket.signature?.isSecure = true ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1139:30: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. var addrSize = socklen_t(sizeofValue(acceptAddr)) ^~~~~~~~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1146:15: error: 'withUnsafeMutablePointer' has been renamed to 'withUnsafeMutablePointer(to::)' let fd = withUnsafeMutablePointer(&acceptAddr) { ^~~~~~~~~~~~~~~~~~~~~~~~ withUnsafeMutablePointer to: Swift.withUnsafeMutablePointer:2:13: note: 'withUnsafeMutablePointer' has been explicitly marked unavailable here public func withUnsafeMutablePointer<T, Result>( arg: inout T, _ body: (UnsafeMutablePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1147:36: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. Darwin.accept(self.socketfd, UnsafeMutablePointer($0), &addrSize) ^~~~~~~~~~~~~~~~~~~~ Swift.UnsafeMutablePointer:3:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafeMutablePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1163:30: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. var addrSize = socklen_t(sizeofValue(acceptAddr)) ^~~~~~~~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in6>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1170:15: error: 'withUnsafeMutablePointer' has been renamed to 'withUnsafeMutablePointer(to::)' let fd = withUnsafeMutablePointer(&acceptAddr) { ^~~~~~~~~~~~~~~~~~~~~~~~ withUnsafeMutablePointer to: Swift.withUnsafeMutablePointer:2:13: note: 'withUnsafeMutablePointer' has been explicitly marked unavailable here public func withUnsafeMutablePointer<T, Result>( arg: inout T, _ body: (UnsafeMutablePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1171:36: error: 'init' is unavailable: use 'withMemoryRebound(to:capacity:)' to temporarily view memory as another layout-compatible type. Darwin.accept(self.socketfd, UnsafeMutablePointer($0), &addrSize) ^~~~~~~~~~~~~~~~~~~~ Swift.UnsafeMutablePointer:3:12: note: 'init' has been explicitly marked unavailable here public init( from: UnsafeMutablePointer) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1194:27: error: cannot assign to property: 'address' setter is inaccessible self.signature!.address = address ~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1200:29: error: cannot assign to property: 'hostname' setter is inaccessible self.signature!.hostname = hostname ~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1201:25: error: cannot assign to property: 'port' setter is inaccessible self.signature!.port = port ~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1214:30: error: cannot assign to property: 'isSecure' setter is inaccessible self.signature?.isSecure = true ~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1255:29: error: cannot assign to property: 'hostname' setter is inaccessible self.signature!.hostname = Socket.NO_HOSTNAME ~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1256:25: error: cannot assign to property: 'port' setter is inaccessible self.signature!.port = Socket.SOCKET_INVALID_PORT ~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1257:29: error: cannot assign to property: 'isSecure' setter is inaccessible self.signature!.isSecure = false ~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1413:45: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. memcpy(&addr, info!.pointee.ai_addr, Int(sizeofValue(addr))) ^~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in6>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1419:45: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. memcpy(&addr, info!.pointee.ai_addr, Int(sizeofValue(addr))) ^~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1427:24: error: 'Socket.Signature?' initializer is inaccessible due to 'private' protection level try self.signature = Signature( ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:432:11: note: 'init' declared here private init?(protocolFamily: Int32, socketType: Int32, proto: Int32, address: Address?, hostname: String?, port: Int32?) throws { ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1441:30: error: cannot assign to property: 'isSecure' setter is inaccessible self.signature?.isSecure = true ~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1507:13: error: 'withUnsafeMutablePointer' has been renamed to 'withUnsafeMutablePointer(to::)' let rc = withUnsafeMutablePointer(&remoteAddr) { ^~~~~~~~~~~~~~~~~~~~~~~~ withUnsafeMutablePointer to: Swift.withUnsafeMutablePointer:2:13: note: 'withUnsafeMutablePointer' has been explicitly marked unavailable here public func withUnsafeMutablePointer<T, Result>( arg: inout T, _ body: (UnsafeMutablePointer) throws -> Result) rethrows -> Result ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1519:17: error: cannot assign to property: 'hostname' setter is inaccessible sig.hostname = hostname ~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1520:13: error: cannot assign to property: 'port' setter is inaccessible sig.port = Int32(port) ~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1531:30: error: cannot assign to property: 'isSecure' setter is inaccessible self.signature?.isSecure = true ~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1559:73: error: 'sizeof' is unavailable: use MemoryLayout.size instead. if setsockopt(self.socketfd, SOL_SOCKET, SO_REUSEADDR, &on, socklen_t(sizeof(Int32.self))) < 0 { ^~~~~~~ ~~~~~~ MemoryLayout< >.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1568:74: error: 'sizeof' is unavailable: use MemoryLayout.size instead. if setsockopt(self.socketfd, SOL_SOCKET, SO_NOSIGPIPE, &on, socklen_t(sizeof(Int32.self))) < 0 { ^~~~~~~ ~~~~~~ MemoryLayout< >.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1677:45: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. memcpy(&addr, info!.pointee.ai_addr, Int(sizeofValue(addr))) ^~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in6>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1683:45: error: 'sizeofValue' is unavailable: use MemoryLayout.size instead. memcpy(&addr, info!.pointee.ai_addr, Int(sizeofValue(addr))) ^~~~~~~~~~~~~~~~~ MemoryLayout<sockaddr_in>.size /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1691:27: error: cannot assign to property: 'address' setter is inaccessible self.signature?.address = address ~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1695:29: error: cannot assign to property: 'hostname' setter is inaccessible self.signature?.hostname = hostname ~~~~~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1696:25: error: cannot assign to property: 'port' setter is inaccessible self.signature?.port = Int32(port) ~~~~~~~~~~~~~~~~~~~~ ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1912:16: error: cannot invoke initializer for type 'UnsafePointer' with an argument list of type '(UnsafeRawPointer)' data.append(UnsafePointer(self.readStorage.bytes), count: self.readStorage.length) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1912:16: note: Pointer conversion restricted: use '.assumingMemoryBound(to:)' or '.bindMemory(to:capacity:)' to view memory as a type. data.append(UnsafePointer(self.readStorage.bytes), count: self.readStorage.length) ^ ~~~~~~~~~~~~~~~~~~~~~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1912:16: note: overloads for 'UnsafePointer' exist with these partially matching parameter lists: (RawPointer), (OpaquePointer), (OpaquePointer?), (UnsafePointer), (UnsafePointer?), (UnsafeMutablePointer), (UnsafeMutablePointer?) data.append(UnsafePointer(self.readStorage.bytes), count: self.readStorage.length) ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:2080:31: error: cannot convert value of type 'UnsafeRawPointer' to expected argument type 'UnsafePointer' (aka 'UnsafePointer<()>') return try write(from: data.bytes, bufSize: data.length) ~~~~~^~~~~ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:2112:21: error: 'nulTerminatedUTF8' is unavailable: Please use String.utf8CString instead. return try string.nulTerminatedUTF8.withUnsafeBufferPointer() { (buffer: UnsafeBufferPointer) -> Int in ^~~~~~~~~~~~~~~~~ Swift.String:3:16: note: 'nulTerminatedUTF8' has been explicitly marked unavailable here public var nulTerminatedUTF8: ContiguousArray { get } ^ /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:122:20: warning: UnsafePointer has been replaced by UnsafeRawPointer func send(buffer: UnsafePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:122:20: warning: UnsafePointer has been replaced by UnsafeRawPointer func send(buffer: UnsafePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:122:20: warning: UnsafePointer has been replaced by UnsafeRawPointer func send(buffer: UnsafePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:133:20: warning: UnsafeMutablePointer has been replaced by UnsafeMutableRawPointer func recv(buffer: UnsafeMutablePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~~~~~~~~ UnsafeMutableRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:133:20: warning: UnsafeMutablePointer has been replaced by UnsafeMutableRawPointer func recv(buffer: UnsafeMutablePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~~~~~~~~ UnsafeMutableRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/SocketProtocols.swift:133:20: warning: UnsafeMutablePointer has been replaced by UnsafeMutableRawPointer func recv(buffer: UnsafeMutablePointer!, bufSize: Int) throws -> Int ^~~~~~~~~~~~~~~~~~~~~~~~~~~ UnsafeMutableRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:1999:55: warning: UnsafePointer has been replaced by UnsafeRawPointer @discardableResult public func write(from buffer: UnsafePointer, bufSize: Int) throws -> Int { ^~~~~~~~~~~~~~~~~~~ UnsafeRawPointer /Users/coustock_dev/Dev/KituraProject/myFirstProject/Packages/Socket-0.7.6/Sources/Socket.swift:2127:33: warning: UnsafePointer has been replaced by UnsafeRawPointer public func write(from buffer: UnsafePointer, bufSize: Int, to addresss: Address) throws { ^~~~~~~~~~~~~~~~~~~ UnsafeRawPointer :0: error: build had 3 command failures error: exit(1): /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool -f /Users/coustock_dev/Dev/KituraProject/myFirstProject/.build/debug.yaml

    opened by ty0419kim 22
  • Get Kitura apps (like TodoList) to be built in XCode with generate-xcodeproj

    Get Kitura apps (like TodoList) to be built in XCode with generate-xcodeproj

    Admittedly, right now this is a manual process, requiring a complicated XCode project configuration building different targets. One would need to set up the module map paths, build order, etc. But it's doable if they truly want to have an integrated environment with the debugging, profiling, and indexing in XCode.

    As an alternative, we can simply show them how to launch 'swift build' as a build step in XCode- but you won't be the above features.

    documentation 
    opened by rfdickerson 22
  • Can't invoke swift build

    Can't invoke swift build

    I have latest release of swift 2.2 (march 1st as of this writing). When running make on ubuntu 14.04 in the root of kitura, i get an error:

    swift build
    error: unable to invoke subcommand: /home/eimantas/src/swift-2.2/usr/bin/swift-build (No such file or directory)
    make: [make] Error 2 (ignored)
    

    Any help is appreciated.

    opened by eimantas 21
  • Open Source Approval to use krzyzanowskim/CryptoSwift

    Open Source Approval to use krzyzanowskim/CryptoSwift

    The package krzyzanowskim/CryptoSwift on github provides encrytion/decryption support (SHA256, AES,.....). It is written purely in Swift, has no pre-requisites, and is compatible with the Swift Package Manager.

    An entry has been added to Box comment https://ibm.app.box.com/notes/50224044186

    invalid 
    opened by shmuelk 18
  • Leak Cycle in HTTPParser/HTTPServerRequest

    Leak Cycle in HTTPParser/HTTPServerRequest

    There's a retain cycle in base Kitura (see screenshot).

    Xcode Instruments trace files at https://github.com/carlbrown/KituraNoMiddlewareLeakSpike/tree/e521326dcbbfd1452dfde0e392e38f33ebf88782/LeakInfo).

    opened by carlbrown 17
  • Kitura 0.13.6 doesn't build in Xcode

    Kitura 0.13.6 doesn't build in Xcode

    Hello,

    Bringing this issue to a wider audience. Originally reported in Kitura-net: Issue #28

    Building Kitura 0.13.6 using swift build works ok. However when building from Xcode following error is returned when linking Kitura-net: ld: library not found for -lCHttpParser for architecture x86_64

    Xcode: 7.3.1 (7D1014) Toolchain: Swift Development Snapshot 2016-05-03 (a) I have previously installed and force-linked curl with brew install curl && brew link curl --force

    opened by michalkalinowski- 17
  • Investigate alternative CI systems

    Investigate alternative CI systems

    Context and Description

    All Kitura repos currently rely on travis.org / travis.com. TravisCI has retired travis.org. Under the new system in travis.com, we're allocated credits in 25k increments. Given the number of repositories and build variants, this can easily run out in a month. Once this happens, builds silently stop and an email must be sent to travis to request more credits. While they are generally responsive, this is quite inconvenient.

    There are other CI systems out there, but unfortunately most require payment (including github). As Kitura is not a for-profit project, we do not have the funds to pay for CI infrastructure.

    One CI system that appears to still be free for OSS projects is Cirrus CI. It would be good to investigate this as an alternative.

    opened by dannys42 0
  • align dependencies URLs

    align dependencies URLs

    Hi folks,

    In a recent update to SwiftPM we improved the validation of dependencies with different URLs. Specifically, we now check more accurately when two packages are named similarly but have different source git URLs. We originally made this into an error since it can yield undefined behavior, but later relaxed it to a warning since the Kitura project suffers from this setup which showed up in our source compatibility test suite: https://bugs.swift.org/browse/SR-15146

    For Kitura specifically, there seems to be a mix of URLs from the original IBM GitHub organization and the current Kitura GitHub organization, which I assume stems from the fact the repos were moved from one org to the other but the dependencies on various Package.swift files still point to the IBM org. While in this case the repos are literally the same (redirect at GitHub level), SwiftPM has no way to reconcile the URL differences as it operates at the git level and cannot be aware of Github logic / redirects, and different URLs could also mean totally different sources.

    To resolve this, please update all Package.swift files to use the Kitura org URLs.

    Feel free to reach out with any questions. --Tom

    cc @abertelrud @neonichu

    opened by tomerd 1
  • Add the support for ID and Query parameters.

    Add the support for ID and Query parameters.

    Description

    Add the support for GET with an ID and optional query parameters. Supports the return of a single object or an array of objects. The parameters are only optional in this PR, which is what is making sense most (all?) the time I think. The return of a list of IDs only has not been done, but could also be added.

    Swagger automatic documentation has been added.

    Motivation and Context

    Fix issue #1556 that reports the lack of such feature.

    How Has This Been Tested?

    A test has been added to the test list.

    Checklist:

    • [ ] If applicable, I have updated the documentation accordingly.
    • [X] If applicable, I have added tests to cover my changes.
    opened by mbarnach 1
  • No support for Get with ID and Query params

    No support for Get with ID and Query params

    Context and Description

    Kitura doesn't support GET with ID and query params, like this one:

    GET /order/:user_id?page=2
    

    This is quite a standard pattern in REST and could beneficial to introduce it inside Kitura.

    opened by mbarnach 0
  • Fixed incorrect URL's for Kitura resources

    Fixed incorrect URL's for Kitura resources

    Description

    The default page when serving a fresh installation of Kitura, has some incorrect URL's. I've corrected them to link to their new ones.

    Motivation and Context

    The reason i corrected them was to remove any obstacles when learning to know Kitura, for future users.

    How Has This Been Tested?

    I just clicked the URL's when serving the webpages.

    Checklist:

    • [x] If applicable, I have updated the documentation accordingly.
    • [x] If applicable, I have added tests to cover my changes.
    opened by mauran 2
Releases(3.0.0)
  • 3.0.0(Sep 18, 2022)

  • 2.9.200(Jan 27, 2021)

    Includes Package.swift updates for Kitura and dependencies that reflect the github organization change from IBM-Swift to Kitura.

    To ensure dependencies are tracked properly, your "from" version should not be lower than this in your SPM dependency list.

    Source code(tar.gz)
    Source code(zip)
  • 2.9.1(Nov 4, 2019)

  • 2.9.0(Oct 23, 2019)

  • 2.8.1(Sep 6, 2019)

  • 2.7.2(Sep 6, 2019)

  • 2.8.0(Aug 12, 2019)

    Features

    • Enable Kitura to exit with a non-zero exit code (#1430)
      • note: Kitura.run() will now call exit() to terminate the process with a non-zero status code if any of the listeners fails to start, such as if a requested port is in use. To prevent this, you may specify Kitura.run(exitOnFailure: false).
    • Maintain the URL query when static file server redirects (#1381)
    • Allow servers to listen on a specific address (#1453)
    • Define a Kitura.logTo() function for logging via swift-log (#1460)
    • StaticFileServer fallback option to support single-page applications (#1464)
    • Convenience API for creating cookies (#1468)

    Fixes

    • Swift 5.1 support (#1466)
    • Add iOS availability (#1475)
    Source code(tar.gz)
    Source code(zip)
  • 2.7.1(Jul 8, 2019)

  • 2.7.0(Apr 17, 2019)

    Features

    • Support UNIX domain sockets (client and server) (#1434)

    Fixes

    • Update MIME content types (#1441)
    • Swagger/OpenAPI generation improvements (#1420, #1346, #1347)
    • Require TypeDecoder 1.3 on Swift 4.0 and 4.1 (#1439)
    • Build in Swift 5 mode (#1436)
    • Improve test resilience (#1426)
    • Use official Swift Docker images for testing (#1424)
    • Use UTF8View to create Data (#1395)

    Performance

    • Remove NSString from Accepts header and cookies (#1402)
    • Avoid NSString in query parameters (#1401)
    • Avoid unnecessary copy in RouterResponse.send() (#1394)
    Source code(tar.gz)
    Source code(zip)
  • 2.6.3(Apr 4, 2019)

  • 2.6.2(Feb 11, 2019)

  • 2.6.1(Jan 25, 2019)

    • Produce a consistent ordering of elements in OpenAPI definition (#1393)
    • Warn when initializing a StaticFileServer on a non-existent path (#1389)
    Source code(tar.gz)
    Source code(zip)
  • 2.6.0(Dec 18, 2018)

    • Consistent handling of parameters for Codable routes #1310
    • Initialize TypesafeMiddleware first #1350
    • Allow Kitura welcome page to be disabled #1344
    • Performance improvement when sending Strings #1369
    • Conditional GET using etags #1333
    Source code(tar.gz)
    Source code(zip)
  • 2.5.6(Nov 29, 2018)

  • 2.5.0(Aug 30, 2018)

    What's New

    • Enhanced OpenAPI support including query parameters
    • SwiftNIO support (enable using env KITURA_NIO=1 swift build)
    • Pluggable encoders and decoders on Router, used in Codable routing
    • Performance throughput improvements
    • New splash screen
    • Bugfixes
    Source code(tar.gz)
    Source code(zip)
  • 2.4.0(Jun 1, 2018)

    What's New

    • Support for a new kind of type-safe middleware
    • Support for generating Swagger from Codable routes
    • Type-safe templating
    • Tech preview of Kitura on SwiftNIO (see kitura-nio branch)
    • request.getQueryParameters() for decoding query params in Codable routes
    • request.queryParametersMultiValues for easily decoding comma-separated query params
    • response.userInfo dictionary for stashing user data in a response
    • Extra Codable routing API for returning a single Codable from a GET route with query params
    • ParsedBody.asRaw for easy decode of HTTP body data as Data
    • Better error messages on JSON decode failure
    • Swift 4.2 support
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0(Apr 17, 2018)

    What's New

    • Support for sending a Codable body with a RequestError response (#1214)
    • Support for sending arrays of tuples of (Identifier, Codable) - (#1223)
    • new convenience API to simplify development of CodableRouter extensions (#1222)
    • Codable Routing support for URLEncoded forms (#1228)
    • Support for Swift 4.1 (#1230)
    • Bridge KituraNet.HTTPStatusCode (#1217)
    • Declare StaticFileServer API open to allow subclassing (#1245)
    • Documentation improvements

    Fixes

    • A fix for memory leaks caused by a failure to invoke callbacks in certain error paths (#1232)
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Jan 30, 2018)

  • 2.1.0(Dec 18, 2017)

    What's New

    • Adds an additional Codable api to supporting a GET handler for non-arrays return types
    • Support for an array mapping in Query Parameters
    • Provides support for Range Requests
    • Migration to Swift 4.0.2
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Oct 27, 2017)

    What's New

    • Migrated the Kitura framework to be a pure Swift 4 package.
    • Improved developer experience by adding new Codable routing support for common HTTP verbs (i.e. GET, PUT, POST, PATCH, DELETE).
    Source code(tar.gz)
    Source code(zip)
  • 1.7.9(Sep 14, 2017)

    What's New

    • Add support for Swift 4
    • Allow the limit on consecutive Keep-Alive requests per connection to be configurable. The default has been changed to allow an unlimited number of requests.
    Source code(tar.gz)
    Source code(zip)
  • 1.7.1(Apr 13, 2017)

  • 1.6.0(Jan 27, 2017)

    We are delighted to release Kitura 1.6 with:

    • Significant performance improvements in Kitura route matching
    • Fixes for SSL related contention issues
    • Faster, more comprehensive unit tests covering SSL
    • HeliumLogger enhancement to print to TextOutputStream
    • HTML boilerplate for Kitura-Markdown
    • Fix for unexpected process exit on SIGPIPE
    • Linux foundation memory leak workaround
    • The usual squashed bugs
    Source code(tar.gz)
    Source code(zip)
  • 1.5.0(Jan 27, 2017)

    We are delighted to release Kitura 1.5.

    • Kitura-WebSockets
    • Kitura-Chat-Server
    • Improve test coverage
    • Fix specification compliance for Accept* headers
    • Fixed memory Leak when checking headers
    • Fix issues running tests under code coverage tooling
    • Remove reference loop in Kitura-net
    • Remove use of String.CompareOptions.regularExpression because of memory leak on linux
    • Fix ClientResponse parsing issues
    Source code(tar.gz)
    Source code(zip)
  • 1.4.0(Jan 27, 2017)

    We are delighted to release Kitura 1.4

    • Swift 3.0.2 support
    • PostgreSQL plugin for SQL abstraction layer
    • Rewrite cookie parsing implementation for specification compliance
    • Enable custom UserProfile fields and their retrieval from identity providers
    • Enhance features and performance of HeliumLogger
    • Add a template engine for Markdown
    • Fix some memory issues in Kitura Middleware
    • Avoid URLComponents memory leak on Linux
    • Added and fixed some unit tests
    • Squashed a few bugs
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Dec 9, 2016)

    We are delighted to release Kitura 1.3.

    Features

    • Many improvements to handling of percent encoding in parameters
    • New monitoring hooks in Kitura-net to enable HTTP performance monitoring
    • New URLComponents property in RouterRequest
    • Significant performance improvements to HeliumLogger
    • Bugfixes

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Nov 17, 2016)

    We are delighted to release Kitura 1.2.

    Features

    • Autocompletion and code assist now works properly with Xcode 8.1
    • New router.parameter() methods for easier access to route parameters. See the tests for examples of use.
    • CHTTPParser merged into Kitura-net to reduce git clones
    • Support for mergeParameters to enable subrouters to access matched params defined in the parent router
    • Bugfixes and performance improvements

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Nov 3, 2016)

    We are delighted to release Kitura 1.1. Kitura 1.1 delivers support for Swift 3.0.1.

    Features

    • Swift 3.0.1 support
    • A lifecycle manager for Kitura so you can be notified when server startup is complete
    • Bugs squashed
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Sep 22, 2016)

    Kitura 1.0

    We are delighted to announce the release of Kitura 1.0. Kitura is a high performance and simple to use web framework for building modern Swift applications. It scales out of the box, it is cloud-ready, and it's fun!

    Features

    • Flexible routing
    • Pluggable middlewares
    • JSON parsing
    • SSL/TLS
    • FastCGI

    Swift Version

    Kitura 1.0 runs on Swift 3.0, on both macOS and Ubuntu Linux.

    Visit http://www.kitura.io to learn more.

    Source code(tar.gz)
    Source code(zip)
  • 0.32.0(Sep 16, 2016)

    Features

    • Migrate to Swift 3.0
    • Deprecate Kitura-sys, remove the dependency from Kitura-net

    Enhancements

    • Performance improvements
    • Improved test coverage

    Documentation

    • API documentation written for Kitura-Session, Kitura-Session-Redis, Kitura-Credentials, Kitura-Cache, HeliumLogger, Kitura-Compression, Kitura-CORS, Kitura-CSRF, Kitura-ResponseTime

    Swift Version

    This release is designed to run on Swift 3.0!

    Source code(tar.gz)
    Source code(zip)
Owner
Kitura
Kitura - Server Side framework written in Swift
Kitura
libuv base Swift web HTTP server framework

Notice Trevi now open a Trevi Community. Yoseob/Trevi project split up into respective Trevi, lime, middlewares and sys packages at our community. If

leeyoseob 46 Jan 29, 2022
A lightweight library for writing HTTP web servers with Swift

Taylor Disclaimer: Not actively working on it anymore. You can check out some alternatives Swift 2.0 required. Working with Xcode 7.1. Disclaimer: It

Jorge Izquierdo 925 Nov 17, 2022
GCDWebServer is a modern and lightweight GCD based HTTP 1.1 server designed to be embedded in iOS, macOS & tvOS apps.

GCDWebServer is a modern and lightweight GCD based HTTP 1.1 server designed to be embedded in iOS, macOS & tvOS apps. It was written from scr

Pierre-Olivier Latour 6.3k Dec 27, 2022
Tiny http server engine written in Swift programming language.

What is Swifter? Tiny http server engine written in Swift programming language. Branches * stable - lands on CocoaPods and others. Supports the latest

null 3.6k Dec 31, 2022
Swift HTTP server using the pre-fork worker model

Curassow Curassow is a Swift Nest HTTP Server. It uses the pre-fork worker model and it's similar to Python's Gunicorn and Ruby's Unicorn. It exposes

Kyle Fuller Archive 397 Oct 30, 2022
Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux

Embassy Super lightweight async HTTP server in pure Swift. Please read: Embedded web server for iOS UI testing. See also: Our lightweight web framewor

Envoy 540 Dec 15, 2022
Tiny http server engine written in Swift programming language.

What is Swifter? Tiny http server engine written in Swift programming language. Branches * stable - lands on CocoaPods and others. Supports the latest

null 3.6k Jan 5, 2023
Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines.

Why Zewo? • Support • Community • Contributing Zewo Zewo is a lightweight library for web applications in Swift. What sets Zewo apart? Zewo is not a w

Zewo 1.9k Dec 22, 2022
Swift Express is a simple, yet unopinionated web application server written in Swift

Documentation <h5 align="right"><a href="http://demo.swiftexpress.io/">Live ?? server running Demo <img src="https://cdn0.iconfinder.com/data/icons/

Crossroad Labs 850 Dec 2, 2022
A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications

CocoaHTTPServer CocoaHTTPServer is a small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. Sometimes developers need an embedde

Robbie Hanson 5.5k Jan 7, 2023
High Performance (nearly)100% Swift Web server supporting dynamic content.

Dynamo - Dynamic Swift Web Server Starting this project the intention was to code the simplest possible Web Server entirely in Swift. Unfortunately I

John Holdsworth 68 Jul 25, 2022
Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and more…)

Perfect: Server-Side Swift 简体中文 Perfect: Server-Side Swift Perfect is a complete and powerful toolbox, framework, and application server for Linux, iO

PerfectlySoft Inc. 13.9k Dec 29, 2022
A minimal, fast and unopinionated web framework for Swift

![Fire Image] (http://i.imgur.com/1qR6Nl4.png) Blackfire An extremely fast Swift web framework ?? Getting Started If you're familiar with express.js t

Elliott Minns 908 Dec 2, 2022
A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X

IMPORTANT! We don't see any way how to make web development as great as Ruby on Rails or Django with a very static nature of current Swift. We hope th

Saulius Grigaitis 2k Dec 5, 2022
A Swift Multiplatform Single-threaded Non-blocking Web and Networking Framework

Serverside non-blocking IO in Swift Ask questions in our Slack channel! Lightning (formerly Edge) Node Lightning is an HTTP Server and TCP Client/Serv

SkyLab 316 Oct 6, 2022
Swift backend / server framework (Pure Swift, Supports Linux)

NetworkObjects NetworkObjects is a #PureSwift backend. This framework compiles for OS X, iOS and Linux and serves as the foundation for building power

Alsey Coleman Miller 258 Oct 6, 2022
A light-weight server-side service framework written in the Swift programming language.

Smoke Framework The Smoke Framework is a light-weight server-side service framework written in Swift and using SwiftNIO for its networking layer by de

Amazon 1.4k Dec 22, 2022
HTTP Implementation for Swift on Linux and Mac OS X

Swift HTTP Server Simple HTTP implementation for Swift using POSIX socket API. Running on Mac OS X and Linux. For Mac users: You can install new Swift

Huy 451 Jul 28, 2022
Sinatra-like DSL for developing web apps in Swift

Swiftra Swiftra is a library that provides DSLs like Sinatra. System Requirements DEVELOPMENT-SNAPSHOT-2016-02-08-a Example See swiftra-example. impor

Shun Takebayashi 262 Jun 29, 2022