@@ -3,33 +3,26 @@ from os.path import exists
3
3
from pathlib import Path
4
4
from sys.ffi import external_call
5
5
from lightbug_http import HTTPRequest, HTTPResponse, Server, NotFound
6
- from external. emberjson import JSON , Array, Object, Value, to_string
6
+ from emberjson import JSON , Array, Object, Value, to_string
7
7
from lightbug_api.openapi.generate import OpenAPIGenerator
8
8
from lightbug_api.routing import Router
9
9
from lightbug_api.logger import logger
10
10
from lightbug_api.docs import DocsApp
11
11
12
12
@value
13
- struct App :
13
+ struct App[docs_enabled: Bool = False ] :
14
14
var router : Router
15
15
var lightbug_dir : Path
16
- var docs_enabled : Bool
17
16
18
17
fn __init__ (inout self ) raises :
19
18
self .router = Router()
20
19
self .lightbug_dir = Path()
21
- self .docs_enabled = True
22
-
23
- fn __init__ (inout self , docs_enabled : Bool) raises :
24
- self .router = Router()
25
- self .lightbug_dir = Path()
26
- self .docs_enabled = docs_enabled
27
20
28
21
fn set_lightbug_dir (mut self , lightbug_dir : Path):
29
22
self .lightbug_dir = lightbug_dir
30
23
31
24
fn func (mut self , req : HTTPRequest) raises -> HTTPResponse:
32
- if self . docs_enabled and req.uri.path == " /docs" and req.method == " GET" :
25
+ if docs_enabled and req.uri.path == " /docs" and req.method == " GET" :
33
26
var openapi_spec = self .generate_openapi_spec()
34
27
var docs = DocsApp(to_string(openapi_spec))
35
28
return docs.func(req)
@@ -98,7 +91,7 @@ struct App:
98
91
return openapi_spec
99
92
100
93
fn start_server (mut self , address : StringLiteral = " 0.0.0.0:8080" ) raises :
101
- if self . docs_enabled:
94
+ if docs_enabled:
102
95
logger.info(" API Docs ready at: " + " http://" + String(address) + " /docs" )
103
96
self .update_temporary_files()
104
97
var server = Server()
0 commit comments