Revert examples
This commit is contained in:
@@ -2,49 +2,33 @@
|
|||||||
|
|
||||||
import freeflowuniverse.herolib.hero.herofs_server
|
import freeflowuniverse.herolib.hero.herofs_server
|
||||||
import freeflowuniverse.herolib.ui.console
|
import freeflowuniverse.herolib.ui.console
|
||||||
import freeflowuniverse.herolib.core.redisclient
|
|
||||||
import os
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
console.print_header('HeroFS REST API Server Example')
|
console.print_header('HeroFS REST API Server Example')
|
||||||
|
|
||||||
// Environment variable configuration with defaults
|
// Create server with CORS enabled for development
|
||||||
redis_host := os.getenv_opt('REDIS_HOST') or { 'localhost' }
|
|
||||||
redis_port := (os.getenv_opt('REDIS_PORT') or { '6379' }).int()
|
|
||||||
server_port := (os.getenv_opt('SERVER_PORT') or { '8080' }).int()
|
|
||||||
server_host := os.getenv_opt('SERVER_HOST') or { 'localhost' }
|
|
||||||
cors_enabled := (os.getenv_opt('CORS_ENABLED') or { 'true' }).bool()
|
|
||||||
allowed_origin := os.getenv_opt('ALLOWED_ORIGIN') or { '*' }
|
|
||||||
|
|
||||||
// Configure Redis connection for main database
|
|
||||||
mut redis := redisclient.core_get(redisclient.RedisURL{
|
|
||||||
address: redis_host
|
|
||||||
port: redis_port
|
|
||||||
})!
|
|
||||||
|
|
||||||
mut server := herofs_server.new(
|
mut server := herofs_server.new(
|
||||||
port: server_port
|
port: 8080
|
||||||
host: server_host
|
host: 'localhost'
|
||||||
cors_enabled: cors_enabled
|
cors_enabled: true
|
||||||
allowed_origins: [allowed_origin]
|
allowed_origins: ['*'] // Allow all origins for development
|
||||||
redis: redis
|
|
||||||
)!
|
)!
|
||||||
|
|
||||||
console.print_item('Server configured successfully')
|
console.print_item('Server configured successfully')
|
||||||
console.print_item('Starting server...')
|
console.print_item('Starting server...')
|
||||||
console.print_item('')
|
console.print_item('')
|
||||||
console.print_item('Available endpoints:')
|
console.print_item('Available endpoints:')
|
||||||
console.print_item(' Health check: GET http://${server_host}:${server_port}/health')
|
console.print_item(' Health check: GET http://localhost:8080/health')
|
||||||
console.print_item(' API info: GET http://${server_host}:${server_port}/api')
|
console.print_item(' API info: GET http://localhost:8080/api')
|
||||||
console.print_item(' Filesystems: http://${server_host}:${server_port}/api/fs')
|
console.print_item(' Filesystems: http://localhost:8080/api/fs')
|
||||||
console.print_item(' Directories: http://${server_host}:${server_port}/api/dirs')
|
console.print_item(' Directories: http://localhost:8080/api/dirs')
|
||||||
console.print_item(' Files: http://${server_host}:${server_port}/api/files')
|
console.print_item(' Files: http://localhost:8080/api/files')
|
||||||
console.print_item(' Blobs: http://${server_host}:${server_port}/api/blobs')
|
console.print_item(' Blobs: http://localhost:8080/api/blobs')
|
||||||
console.print_item(' Symlinks: http://${server_host}:${server_port}/api/symlinks')
|
console.print_item(' Symlinks: http://localhost:8080/api/symlinks')
|
||||||
console.print_item(' Tools: http://${server_host}:${server_port}/api/tools')
|
console.print_item(' Tools: http://localhost:8080/api/tools')
|
||||||
console.print_item('')
|
console.print_item('')
|
||||||
console.print_item('Press Ctrl+C to stop the server')
|
console.print_item('Press Ctrl+C to stop the server')
|
||||||
|
|
||||||
// Start the server (this blocks)
|
// Start the server (this blocks)
|
||||||
server.start()!
|
server.start()!
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,47 +2,20 @@
|
|||||||
|
|
||||||
import freeflowuniverse.herolib.hero.heromodels
|
import freeflowuniverse.herolib.hero.heromodels
|
||||||
import freeflowuniverse.herolib.hero.db
|
import freeflowuniverse.herolib.hero.db
|
||||||
import freeflowuniverse.herolib.core.redisclient
|
|
||||||
import freeflowuniverse.herolib.crypt.herocrypt
|
|
||||||
import time
|
import time
|
||||||
import os
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// Environment variable configuration with defaults
|
|
||||||
redis_host := os.getenv_opt('REDIS_HOST') or { 'localhost' }
|
|
||||||
redis_port := (os.getenv_opt('REDIS_PORT') or { '6379' }).int()
|
|
||||||
crypto_redis_host := os.getenv_opt('CRYPTO_REDIS_HOST') or { 'localhost' }
|
|
||||||
crypto_redis_port := (os.getenv_opt('CRYPTO_REDIS_PORT') or { '6381' }).int()
|
|
||||||
reset_db := (os.getenv_opt('RESET_DB') or { 'true' }).bool()
|
|
||||||
models_name := os.getenv_opt('MODELS_NAME') or { 'test' }
|
|
||||||
server_name := os.getenv_opt('SERVER_NAME') or { 'test' }
|
|
||||||
server_port := (os.getenv_opt('SERVER_PORT') or { '8080' }).int()
|
|
||||||
server_host := os.getenv_opt('SERVER_HOST') or { 'localhost' }
|
|
||||||
auth_enabled := (os.getenv_opt('AUTH_ENABLED') or { 'false' }).bool()
|
|
||||||
cors_enabled := (os.getenv_opt('CORS_ENABLED') or { 'true' }).bool()
|
|
||||||
allowed_origin := os.getenv_opt('ALLOWED_ORIGIN') or { 'http://localhost:5173' }
|
|
||||||
|
|
||||||
// Start the server in a background thread with authentication disabled for testing
|
// Start the server in a background thread with authentication disabled for testing
|
||||||
spawn fn [redis_host, redis_port, crypto_redis_host, crypto_redis_port, reset_db, models_name, server_name, server_port, server_host, auth_enabled, cors_enabled, allowed_origin] () ! {
|
spawn fn () ! {
|
||||||
// Configure Redis connection for main database
|
heromodels.new(reset: true, name: 'test')!
|
||||||
mut redis := redisclient.core_get(redisclient.RedisURL{
|
|
||||||
address: redis_host
|
|
||||||
port: redis_port
|
|
||||||
})!
|
|
||||||
|
|
||||||
// Configure Redis connection for crypto database
|
|
||||||
mut crypto_client := herocrypt.new('${crypto_redis_host}:${crypto_redis_port}')!
|
|
||||||
|
|
||||||
heromodels.new(reset: reset_db, name: models_name, redis: redis)!
|
|
||||||
heromodels.server_start(
|
heromodels.server_start(
|
||||||
name: server_name
|
name: 'test'
|
||||||
port: server_port
|
port: 8080
|
||||||
host: server_host
|
auth_enabled: false // Disable auth for testing
|
||||||
auth_enabled: auth_enabled
|
cors_enabled: true
|
||||||
cors_enabled: cors_enabled
|
reset: true
|
||||||
crypto_client: crypto_client
|
|
||||||
allowed_origins: [
|
allowed_origins: [
|
||||||
allowed_origin
|
'http://localhost:5173',
|
||||||
]
|
]
|
||||||
) or { panic('Failed to start HeroModels server: ${err}') }
|
) or { panic('Failed to start HeroModels server: ${err}') }
|
||||||
}()
|
}()
|
||||||
|
|||||||
Reference in New Issue
Block a user