OpenAPIRequest | WebHare Platform SDK
WebHare Platform SDK
    Preparing search index...

    Interface OpenAPIRequest<Authorization, Params, Body, Responses, DefaultErrorFormat>

    interface OpenAPIRequest<
        Authorization = unknown,
        Params extends object = DefaultRestParams,
        Body = unknown,
        Responses extends RestResponsesBase = DefaultRestResponses,
        DefaultErrorFormat extends object = RestDefaultErrorBody,
    > {
        authorization: Authorization;
        body: Body;
        params: Params;
        path: string;
        route: string;
        webRequest: WebRequest;
        createErrorResponse<
            Status extends HTTPErrorCode,
            ResponseBody extends object,
        >(
            status: Status,
            jsonbody: ResponseBody extends { status?: number }
                ? Simplify<
                    Partial<
                        Pick<
                            ResponseBody & DisallowExtraPropsRecursive<
                                ResponseBody,
                                JSONResponseForCode<Responses, DefaultErrorFormat, Status>,
                            >,
                            "status" & (
                                | keyof ResponseBody
                                | keyof DisallowExtraPropsRecursive<
                                    ResponseBody,
                                    JSONResponseForCode<Responses, DefaultErrorFormat, Status>,
                                >
                            ),
                        >,
                    > & Omit<
                        ResponseBody & DisallowExtraPropsRecursive<
                            ResponseBody,
                            JSONResponseForCode<Responses, DefaultErrorFormat, Status>,
                        >,
                        "status",
                    >,
                >
                : {
                    "[error]": "Cannot use this function, the error schema doesn't contain a 'status' property";
                },
            options?: { headers?: Record<string, string> },
        ): WebResponse;
        createJSONResponse<
            Status extends HTTPSuccessCode,
            ResponseBody extends any,
        >(
            status: Status,
            jsonbody: ResponseBody & DisallowExtraPropsRecursive<
                ResponseBody,
                JSONResponseForCode<Responses, DefaultErrorFormat, Status>,
            >,
            options?: { headers?: Record<string, string> },
        ): WebResponse;
        createRawResponse<Status extends HTTPErrorCode | HTTPSuccessCode>(
            status: Status,
            body: string | Blob | ReadableStream<Uint8Array<ArrayBufferLike>>,
            options?: { headers?: Record<string, string> },
        ): WebResponse;
    }

    Type Parameters

    • Authorization = unknown
    • Params extends object = DefaultRestParams
    • Body = unknown
    • Responses extends RestResponsesBase = DefaultRestResponses
    • DefaultErrorFormat extends object = RestDefaultErrorBody
    Index

    Properties

    authorization: Authorization
    body: Body
    params: Params
    path: string
    route: string
    webRequest: WebRequest

    Methods

    • Create a webresponse for an error response, returning a JSON body. Only allowed when the return body can contain a 'status' property.

      Type Parameters

      Parameters

      • status: Status

        Status code to return

      • jsonbody: ResponseBody extends { status?: number }
            ? Simplify<
                Partial<
                    Pick<
                        ResponseBody & DisallowExtraPropsRecursive<
                            ResponseBody,
                            JSONResponseForCode<Responses, DefaultErrorFormat, Status>,
                        >,
                        "status" & (
                            | keyof ResponseBody
                            | keyof DisallowExtraPropsRecursive<
                                ResponseBody,
                                JSONResponseForCode<Responses, DefaultErrorFormat, Status>,
                            >
                        ),
                    >,
                > & Omit<
                    ResponseBody & DisallowExtraPropsRecursive<
                        ResponseBody,
                        JSONResponseForCode<Responses, DefaultErrorFormat, Status>,
                    >,
                    "status",
                >,
            >
            : {
                "[error]": "Cannot use this function, the error schema doesn't contain a 'status' property";
            }

        The JSON body to return

      • Optionaloptions: { headers?: Record<string, string> }

        Optional statuscode and headers

      Returns WebResponse

    • Create a webresponse for a successfull response, returning a raw file

      Type Parameters

      Parameters

      • status: Status

        Status code to return

      • body: string | Blob | ReadableStream<Uint8Array<ArrayBufferLike>>

        The body of the response to return

      • Optionaloptions: { headers?: Record<string, string> }

        Optional statuscode and headers

      Returns WebResponse