File size: 888 Bytes
85f9591
 
3cdbc8b
6c19d0a
 
01dedc8
 
 
 
 
6c19d0a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from fastapi import FastAPI

import demo
import g4f.api
import g4f.Provider
from g4f.Provider import BackendApi

BackendApi.working = True
BackendApi.url = demo.url
BackendApi.headers = demo.headers

g4f.Provider.__map__["Feature"] = g4f.Provider.BackendApi

def create_app():
    g4f.debug.logging = True
    g4f.api.AppConfig.gui = True
    g4f.api.AppConfig.demo = True

    app = FastAPI()

    # Add CORS middleware
    app.add_middleware(
        g4f.api.CORSMiddleware,
        allow_origin_regex=".*",
        allow_credentials=True,
        allow_methods=["*"],
        allow_headers=["*"],
    )

    api = g4f.api.Api(app)

    api.register_routes()
    api.register_authorization()
    api.register_validation_exception_handler()

    gui_app = g4f.api.WSGIMiddleware(g4f.api.get_gui_app(g4f.api.AppConfig.demo))
    app.mount("/", gui_app)

    return app

app = create_app()