code.gitea.io/gitea@v1.19.3/modules/setting/api.go (about)

     1  // Copyright 2023 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package setting
     5  
     6  import (
     7  	"net/url"
     8  	"path"
     9  
    10  	"code.gitea.io/gitea/modules/log"
    11  )
    12  
    13  // API settings
    14  var 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  
    30  func 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  }