Skip to content

chore(deps): update all non-major dependencies #37

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 23 additions & 50 deletions Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version: 5.8
// swift-tools-version: 5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription
Expand All @@ -11,7 +11,7 @@ let package = Package(
// .package(url: /* package url */, from: "1.0.0"),
.package(
url: "https://github.com/swift-cloud/Compute",
from: "2.17.0"
from: "2.18.0"
),
// .package(
// url: "https://github.com/johnsundell/ink.git",
Expand All @@ -21,9 +21,9 @@ let package = Package(
url: "https://github.com/yumemi-inc/fake-fortune-telling",
from: "0.2.5"
),
.package(url: "https://github.com/apple/swift-openapi-generator", from: "0.2.1"),
.package(url: "https://github.com/apple/swift-openapi-runtime", from: "0.2.1"),
.package(url: "https://github.com/novr/swift-openapi-compute", from: "0.0.1"),
.package(url: "https://github.com/apple/swift-openapi-generator", from: "1.2.0"),
.package(url: "https://github.com/apple/swift-openapi-runtime", from: "1.3.2"),
.package(url: "https://github.com/novr/swift-openapi-compute", from: "0.1.2"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
Expand Down
83 changes: 58 additions & 25 deletions Sources/EndPoint/OpenAPI/Server.swift
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
// Generated by swift-openapi-generator, do not modify.
@_spi(Generated) import OpenAPIRuntime
#if os(Linux)
@preconcurrency import Foundation
@preconcurrency import struct Foundation.URL
@preconcurrency import struct Foundation.Data
@preconcurrency import struct Foundation.Date
#else
import Foundation
import struct Foundation.URL
import struct Foundation.Data
import struct Foundation.Date
#endif
import HTTPTypes
extension APIProtocol {
/// Registers each operation handler with the provided transport.
/// - Parameters:
Expand All @@ -13,9 +18,9 @@ extension APIProtocol {
/// request handlers.
/// - configuration: A set of configuration values for the server.
/// - middlewares: A list of middlewares to call before the handler.
public func registerHandlers(
internal func registerHandlers(
on transport: any ServerTransport,
serverURL: URL = .defaultOpenAPIServerURL,
serverURL: Foundation.URL = .defaultOpenAPIServerURL,
configuration: Configuration = .init(),
middlewares: [any ServerMiddleware] = []
) throws {
Expand All @@ -26,27 +31,40 @@ extension APIProtocol {
middlewares: middlewares
)
try transport.register(
{ try await server.post_hyphen_my_hyphen_fortune(request: $0, metadata: $1) },
{
try await server.post_hyphen_my_hyphen_fortune(
request: $0,
body: $1,
metadata: $2
)
},
method: .post,
path: server.apiPathComponentsWithServerPrefix(["my_fortune"]),
queryItemNames: []
path: server.apiPathComponentsWithServerPrefix("/my_fortune")
)
}
}

fileprivate extension UniversalServer where APIHandler: APIProtocol {
/// Get fortune for given person
///
/// This endpoint returns the fortune of a person based on their name, birthday, and blood type, as well as the current date.
///
/// - Remark: HTTP `POST /my_fortune`.
/// - Remark: Generated from `#/paths//my_fortune/post(post-my-fortune)`.
func post_hyphen_my_hyphen_fortune(request: Request, metadata: ServerRequestMetadata) async throws -> Response {
func post_hyphen_my_hyphen_fortune(
request: HTTPTypes.HTTPRequest,
body: OpenAPIRuntime.HTTPBody?,
metadata: OpenAPIRuntime.ServerRequestMetadata
) async throws -> (HTTPTypes.HTTPResponse, OpenAPIRuntime.HTTPBody?) {
try await handle(
request: request,
with: metadata,
requestBody: body,
metadata: metadata,
forOperation: Operations.post_hyphen_my_hyphen_fortune.id,
using: { APIHandler.post_hyphen_my_hyphen_fortune($0) },
deserializer: { request, metadata in
using: {
APIHandler.post_hyphen_my_hyphen_fortune($0)
},
deserializer: { request, requestBody, metadata in
let headers: Operations.post_hyphen_my_hyphen_fortune.Input.Headers = .init(
API_hyphen_Version: try converter.getOptionalHeaderFieldAsURI(
in: request.headerFields,
Expand All @@ -57,36 +75,51 @@ fileprivate extension UniversalServer where APIHandler: APIProtocol {
)
let contentType = converter.extractContentTypeIfPresent(in: request.headerFields)
let body: Operations.post_hyphen_my_hyphen_fortune.Input.Body
if try contentType == nil
|| converter.isMatchingContentType(received: contentType, expectedRaw: "application/json")
{
body = try converter.getRequiredRequestBodyAsJSON(
let chosenContentType = try converter.bestContentType(
received: contentType,
options: [
"application/json"
]
)
switch chosenContentType {
case "application/json":
body = try await converter.getRequiredRequestBodyAsJSON(
Components.Schemas.MyFortuneRequest.self,
from: request.body,
transforming: { value in .json(value) }
from: requestBody,
transforming: { value in
.json(value)
}
)
} else {
throw converter.makeUnexpectedContentTypeError(contentType: contentType)
default:
preconditionFailure("bestContentType chose an invalid content type.")
}
return Operations.post_hyphen_my_hyphen_fortune.Input(headers: headers, body: body)
return Operations.post_hyphen_my_hyphen_fortune.Input(
headers: headers,
body: body
)
},
serializer: { output, request in
switch output {
case let .ok(value):
suppressUnusedWarning(value)
var response = Response(statusCode: 200)
var response = HTTPTypes.HTTPResponse(soar_statusCode: 200)
suppressMutabilityWarning(&response)
let body: OpenAPIRuntime.HTTPBody
switch value.body {
case let .json(value):
try converter.validateAcceptIfPresent("application/json", in: request.headerFields)
response.body = try converter.setResponseBodyAsJSON(
try converter.validateAcceptIfPresent(
"application/json",
in: request.headerFields
)
body = try converter.setResponseBodyAsJSON(
value,
headerFields: &response.headerFields,
contentType: "application/json; charset=utf-8"
)
}
return response
case let .undocumented(statusCode, _): return .init(statusCode: statusCode)
return (response, body)
case let .undocumented(statusCode, _):
return (.init(soar_statusCode: statusCode), nil)
}
}
)
Expand Down
Loading