migr: migration json to x.json2
This commit is contained in:
+41
-20
@@ -2,7 +2,28 @@ module main
|
||||
|
||||
import hono
|
||||
import net.http
|
||||
import json
|
||||
import x.json2
|
||||
|
||||
// 响应结构体
|
||||
struct ErrorResponse {
|
||||
error string
|
||||
}
|
||||
|
||||
struct ProtectedUserResponse {
|
||||
message string
|
||||
user_id string
|
||||
username string
|
||||
email string
|
||||
role string
|
||||
}
|
||||
|
||||
struct ProtectedAdminResponse {
|
||||
message string
|
||||
user_id string
|
||||
username string
|
||||
email string
|
||||
role string
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// 创建数据库管理器
|
||||
@@ -37,16 +58,16 @@ fn main() {
|
||||
token := c.req.header.get_custom('Authorization') or { '' }
|
||||
user := auth_manager.verify_token(token) or {
|
||||
c.status(401)
|
||||
return c.json(json.encode({
|
||||
'error': 'User not found'
|
||||
return c.json(json2.encode[ErrorResponse](ErrorResponse{
|
||||
error: 'User not found'
|
||||
}))
|
||||
}
|
||||
return c.json(json.encode({
|
||||
'message': 'This is a protected user route',
|
||||
'user_id': user.id.str(),
|
||||
'username': user.username,
|
||||
'email': user.email,
|
||||
'role': user.role.str()
|
||||
return c.json(json2.encode[ProtectedUserResponse](ProtectedUserResponse{
|
||||
message: 'This is a protected user route'
|
||||
user_id: user.id.str()
|
||||
username: user.username
|
||||
email: user.email
|
||||
role: user.role.str()
|
||||
}))
|
||||
})
|
||||
|
||||
@@ -54,22 +75,22 @@ fn main() {
|
||||
token := c.req.header.get_custom('Authorization') or { '' }
|
||||
user := auth_manager.verify_token(token) or {
|
||||
c.status(401)
|
||||
return c.json(json.encode({
|
||||
'error': 'User not found'
|
||||
return c.json(json2.encode[ErrorResponse](ErrorResponse{
|
||||
error: 'User not found'
|
||||
}))
|
||||
}
|
||||
if !auth_manager.check_permission(user, 'manage') {
|
||||
c.status(403)
|
||||
return c.json(json.encode({
|
||||
'error': 'Admin access required'
|
||||
return c.json(json2.encode[ErrorResponse](ErrorResponse{
|
||||
error: 'Admin access required'
|
||||
}))
|
||||
}
|
||||
return c.json(json.encode({
|
||||
'message': 'This is a protected admin route',
|
||||
'user_id': user.id.str(),
|
||||
'username': user.username,
|
||||
'email': user.email,
|
||||
'role': user.role.str()
|
||||
return c.json(json2.encode[ProtectedAdminResponse](ProtectedAdminResponse{
|
||||
message: 'This is a protected admin route'
|
||||
user_id: user.id.str()
|
||||
username: user.username
|
||||
email: user.email
|
||||
role: user.role.str()
|
||||
}))
|
||||
})
|
||||
|
||||
@@ -142,4 +163,4 @@ fn create_sample_users(mut auth_manager hono.AuthManager) {
|
||||
auth_manager.create_user('guest', 'guest@example.com', 'guest123', hono.UserRole.guest) or { return }
|
||||
|
||||
println('✅ 示例用户已创建')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,13 +11,13 @@ fn main() {
|
||||
create_test_files()
|
||||
|
||||
// 创建应用
|
||||
mut app := hono.Hono.new()
|
||||
mut app := &hono.Hono{}
|
||||
|
||||
// 测试路由
|
||||
setup_test_routes(mut app)
|
||||
|
||||
// 在后台启动服务器
|
||||
go app.listen(':8081')
|
||||
spawn app.listen(':8081')
|
||||
|
||||
// 等待服务器启动
|
||||
time.sleep(2 * time.second)
|
||||
@@ -227,8 +227,8 @@ fn test_smart_selection() {
|
||||
if result2.exit_code == 0 {
|
||||
// 检查下载的文件大小
|
||||
if os.exists('large_output.txt') {
|
||||
downloaded_size := os.file_size('large_output.txt') or { 0 }
|
||||
original_size := os.file_size('test_large.txt') or { 0 }
|
||||
downloaded_size := os.file_size('large_output.txt')
|
||||
original_size := os.file_size('test_large.txt')
|
||||
if downloaded_size == original_size {
|
||||
println('✅ 智能选择大文件: 成功 (${downloaded_size} bytes)')
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user