mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-08 14:34:49 +09:00
Fix #34349 By the way, remove `(ctx *APIContext) HasAPIError() ` and `(ctx *APIContext) GetErrMsg()` because they do nothing, the error handling has been done in API's middeware The existing OAuth2 tests were not quite right, refactored them together
93 lines
2.6 KiB
Go
93 lines
2.6 KiB
Go
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package misc
|
|
|
|
import (
|
|
"code.gitea.io/gitea/modules/markup"
|
|
"code.gitea.io/gitea/modules/markup/markdown"
|
|
api "code.gitea.io/gitea/modules/structs"
|
|
"code.gitea.io/gitea/modules/util"
|
|
"code.gitea.io/gitea/modules/web"
|
|
"code.gitea.io/gitea/routers/common"
|
|
"code.gitea.io/gitea/services/context"
|
|
)
|
|
|
|
// Markup render markup document to HTML
|
|
func Markup(ctx *context.APIContext) {
|
|
// swagger:operation POST /markup miscellaneous renderMarkup
|
|
// ---
|
|
// summary: Render a markup document as HTML
|
|
// parameters:
|
|
// - name: body
|
|
// in: body
|
|
// schema:
|
|
// "$ref": "#/definitions/MarkupOption"
|
|
// consumes:
|
|
// - application/json
|
|
// produces:
|
|
// - text/html
|
|
// responses:
|
|
// "200":
|
|
// "$ref": "#/responses/MarkupRender"
|
|
// "422":
|
|
// "$ref": "#/responses/validationError"
|
|
|
|
form := web.GetForm(ctx).(*api.MarkupOption)
|
|
mode := util.Iif(form.Wiki, "wiki", form.Mode) //nolint:staticcheck // form.Wiki is deprecated
|
|
common.RenderMarkup(ctx.Base, ctx.Repo, mode, form.Text, form.Context, form.FilePath)
|
|
}
|
|
|
|
// Markdown render markdown document to HTML
|
|
func Markdown(ctx *context.APIContext) {
|
|
// swagger:operation POST /markdown miscellaneous renderMarkdown
|
|
// ---
|
|
// summary: Render a markdown document as HTML
|
|
// parameters:
|
|
// - name: body
|
|
// in: body
|
|
// schema:
|
|
// "$ref": "#/definitions/MarkdownOption"
|
|
// consumes:
|
|
// - application/json
|
|
// produces:
|
|
// - text/html
|
|
// responses:
|
|
// "200":
|
|
// "$ref": "#/responses/MarkdownRender"
|
|
// "422":
|
|
// "$ref": "#/responses/validationError"
|
|
|
|
form := web.GetForm(ctx).(*api.MarkdownOption)
|
|
mode := util.Iif(form.Wiki, "wiki", form.Mode) //nolint:staticcheck // form.Wiki is deprecated
|
|
common.RenderMarkup(ctx.Base, ctx.Repo, mode, form.Text, form.Context, "")
|
|
}
|
|
|
|
// MarkdownRaw render raw markdown HTML
|
|
func MarkdownRaw(ctx *context.APIContext) {
|
|
// swagger:operation POST /markdown/raw miscellaneous renderMarkdownRaw
|
|
// ---
|
|
// summary: Render raw markdown as HTML
|
|
// parameters:
|
|
// - name: body
|
|
// in: body
|
|
// description: Request body to render
|
|
// required: true
|
|
// schema:
|
|
// type: string
|
|
// consumes:
|
|
// - text/plain
|
|
// produces:
|
|
// - text/html
|
|
// responses:
|
|
// "200":
|
|
// "$ref": "#/responses/MarkdownRender"
|
|
// "422":
|
|
// "$ref": "#/responses/validationError"
|
|
defer ctx.Req.Body.Close()
|
|
if err := markdown.RenderRaw(markup.NewRenderContext(ctx), ctx.Req.Body, ctx.Resp); err != nil {
|
|
ctx.APIErrorInternal(err)
|
|
return
|
|
}
|
|
}
|