Response.swift 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // Response.swift
  3. // Swifter
  4. //
  5. // Created by Dawid Szymczak on 15/08/16.
  6. // Copyright © 2016 Damian Kołakowski. All rights reserved.
  7. //
  8. import Foundation
  9. public protocol ResponseProtocol {
  10. var headersArray : [String: String] { get set }
  11. var contentObject : AnyObject { get set }
  12. mutating func content() -> (contentLength: Int, contentString: String)
  13. func headers() -> [String: String]
  14. func statusCode() -> Int
  15. }
  16. public class Response: ResponseProtocol {
  17. public var headersArray: [String : String] = ["Server" : "Swifter \(HttpServer.VERSION)"]
  18. public var contentObject : AnyObject = ""
  19. // typealias OK = getStatusCode;()
  20. public init(contentObject: AnyObject) {
  21. self.contentObject = contentObject
  22. }
  23. public func content() -> (contentLength: Int, contentString: String) {
  24. let contentString = String(contentObject);
  25. let data = [UInt8](contentString.utf8)
  26. return (data.count, contentString)
  27. }
  28. public func headers() -> [String: String] {
  29. return headersArray
  30. }
  31. public func statusCode() -> Int {
  32. return HttpResponse.NotFound.statusCode()
  33. }
  34. public func reasonPhrase() -> String {
  35. return HttpResponse.NotFound.reasonPhrase()
  36. }
  37. public func getStatusCode() -> Int {
  38. return HttpResponse.NotFound.statusCode()
  39. }
  40. }