Class: Pindo::WebServer::ResponsivePreviewHandler

Inherits:
WEBrick::HTTPServlet::AbstractServlet
  • Object
show all
Defined in:
lib/pindo/module/webserver/responsive_preview_handler.rb

Overview

响应式预览页面处理器

Instance Method Summary collapse

Constructor Details

#initialize(server, root_dir, port, debug = false) ⇒ ResponsivePreviewHandler



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/pindo/module/webserver/responsive_preview_handler.rb', line 10

def initialize(server, root_dir, port, debug=false)
  super(server)
  @root_dir = root_dir
  @preview_source_dir = File.join(File.dirname(__FILE__), 'preview')  # 预览文件源目录
  @port = port
  @debug = debug
  
  # 更详细的调试输出
  puts "预览处理器初始化: WebGL目录=#{@root_dir}, 预览目录=#{@preview_source_dir}" if @debug
  
  # 检查预览源目录是否存在
  if File.directory?(@preview_source_dir)
    puts "预览源目录存在: #{@preview_source_dir}" if @debug
    puts "源目录中的文件: #{Dir.glob(File.join(@preview_source_dir, '*')).join(', ')}" if @debug
  else
    puts "错误: 预览源目录不存在: #{@preview_source_dir}" if @debug
  end
  
  # 挂载自定义处理器来处理预览文件
  mount_preview_files_handler(server)
end

Instance Method Details

#do_GET(req, res) ⇒ Object



32
33
34
35
# File 'lib/pindo/module/webserver/responsive_preview_handler.rb', line 32

def do_GET(req, res)
  # 重定向到预览页面,使用特殊的预览处理器路径前缀
  res.set_redirect(WEBrick::HTTPStatus::Found, "/preview_page/preview.html")
end