Compare commits

...

2 commits

5 changed files with 11 additions and 1 deletions

View file

@ -36,6 +36,7 @@ public class Config
public class DatabaseConfig
{
public string Url { get; init; } = string.Empty;
public bool? EnablePooling { get; init; }
public int? Timeout { get; init; }
public int? MaxPoolSize { get; init; }
}

View file

@ -26,6 +26,7 @@ public class DatabaseContext : DbContext
{
var connString = new NpgsqlConnectionStringBuilder(config.Database.Url)
{
Pooling = config.Database.EnablePooling ?? true,
Timeout = config.Database.Timeout ?? 5,
MaxPoolSize = config.Database.MaxPoolSize ?? 50,
MinPoolSize = 0,

View file

@ -30,6 +30,8 @@ MetricsPort = 5001
[Database]
; The database URL in ADO.NET format.
Url = "Host=localhost;Database=foxnouns_net;Username=pronouns;Password=pronouns"
; Whether to enable connection pooling. This should be turned off if using pgbouncer. Defaults to true.
EnablePooling = true
; The timeout for opening new connections. Defaults to 5.
Timeout = 5
; The maximum number of open connections. Defaults to 50.

View file

@ -25,6 +25,7 @@ type Handler struct {
Port int `json:"port"`
ProxyTarget string `json:"proxy_target"`
Debug bool `json:"debug"`
PoweredBy string `json:"powered_by"`
limiter *Limiter
proxy *httputil.ReverseProxy
@ -32,6 +33,10 @@ type Handler struct {
}
func (hn *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if hn.PoweredBy != "" {
w.Header().Set("X-Powered-By", hn.PoweredBy)
}
// all public api endpoints are prefixed with this
if !strings.HasPrefix(r.URL.Path, "/api/v2") {
w.WriteHeader(http.StatusNotFound)

View file

@ -1,5 +1,6 @@
{
"port": 5003,
"proxy_target": "http://localhost:5000",
"debug": true
"debug": true,
"powered_by": "5 gay rats"
}