Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Port int // 服务器监听的端口,例如: 8080
Dir string // 提供服务的目录路径,例如: "/home/user/files"
// 认证相关配置
AuthType auth.AuthType // 认证类型,可选值: auth.NoAuth, auth.BasicAuth, auth.TokenAuth, auth.FormAuth
Username string // 用户名,用于BasicAuth和FormAuth,例如: "admin"
Password string // 密码,用于BasicAuth和FormAuth,例如: "password123"
Token string // 令牌,用于TokenAuth,例如: "abcdef123456"
EnableLoginPage bool // 是否启用登录页面,用于FormAuth,例如: true表示启用
// 目录浏览相关配置
EnableDirListing bool // 是否启用目录列表功能,例如: true表示启用
Theme string // 目录列表主题,可选值: "default", "bootstrap", "material" 等
}
Config 保存文件服务器的配置 该结构体包含了服务器启动和运行所需的所有配置参数
type FileServer ¶
type FileServer struct {
// contains filtered or unexported fields
}
FileServer 表示一个文件服务器实例 该结构体封装了服务器的所有状态和功能
func New ¶
func New(config Config) (*FileServer, error)
New 创建一个新的文件服务器实例
参数:
- config: 服务器配置,包含端口、目录、认证信息等
返回值:
- *FileServer: 初始化好的文件服务器实例
- error: 如有错误,返回对应错误信息,例如目录不存在或无法访问
使用示例: ```
config := server.Config{
Port: 8080,
Dir: "./files",
AuthType: auth.NoAuth,
EnableDirListing: true,
Theme: "default",
}
srv, err := server.New(config)
if err != nil {
log.Fatalf("创建服务器失败: %v", err)
}
```
func (*FileServer) GetAbsDir ¶
func (fs *FileServer) GetAbsDir() string
GetAbsDir 获取文件服务器的绝对路径
返回值:
- string: 服务器提供服务的目录绝对路径
使用示例: ``` absPath := srv.GetAbsDir() fmt.Printf("服务器的绝对路径: %s\n", absPath) ```
func (*FileServer) Start ¶
func (fs *FileServer) Start() error
Start 启动文件服务器 此方法会阻塞执行,直到服务器停止或出错
返回值:
- error: 如果服务器启动失败,返回错误信息
使用示例: ``` err := srv.Start()
if err != nil {
log.Fatalf("服务器启动失败: %v", err)
}
```
Click to show internal directories.
Click to hide internal directories.