1// Copyright 2023 The Gitea Authors. All rights reserved.
2// SPDX-License-Identifier: MIT
3
4package setting
5
6import (
7 "net/url"
8 "path"
9
10 "forgejo.org/modules/log"
11)
12
13// API settings
14var API = struct {
15 EnableSwagger bool
16 SwaggerURL string
17 MaxResponseItems int
18 DefaultPagingNum int
19 DefaultGitTreesPerPage int
20 DefaultMaxBlobSize int64
21}{
22 EnableSwagger: true,
23 SwaggerURL: "",
24 MaxResponseItems: 50,
25 DefaultPagingNum: 30,
26 DefaultGitTreesPerPage: 1000,
27 DefaultMaxBlobSize: 10485760,
28}
29
30func loadAPIFrom(rootCfg ConfigProvider) {
31 mustMapSetting(rootCfg, "api", &API)
32
33 defaultAppURL := string(Protocol) + "://" + Domain + ":" + HTTPPort
34 u, err := url.Parse(rootCfg.Section("server").Key("ROOT_URL").MustString(defaultAppURL))
35 if err != nil {
36 log.Fatal("Invalid ROOT_URL '%s': %s", AppURL, err)
37 }
38 u.Path = path.Join(u.Path, "api", "swagger")
39 API.SwaggerURL = u.String()
40}