mirror of
https://github.com/fluent/fluentd-ui.git
synced 2025-08-11 08:47:06 +02:00
45 lines
1.1 KiB
Ruby
45 lines
1.1 KiB
Ruby
class ApiController < ApplicationController
|
|
def tree
|
|
render json: Treeview.tree(params[:path])
|
|
end
|
|
|
|
def file_preview
|
|
file = params[:file]
|
|
unless File.exists?(file)
|
|
return render json: [], status: 404
|
|
end
|
|
unless File.file?(file) && File.readable?(file)
|
|
return render json: [], status: 403
|
|
end
|
|
render json: file_tail(file)
|
|
end
|
|
|
|
def empty_json
|
|
render json: []
|
|
end
|
|
|
|
def regexp_preview
|
|
preview = RegexpPreview.processor(params[:format]).new(params[:file], params[:format], params)
|
|
matches = preview.matches
|
|
|
|
render json: {
|
|
params: {
|
|
setting: {
|
|
# NOTE: regexp and timeformat are used when format == 'apache' || 'nginx' || etc.
|
|
# TODO: prepare rendered JSON by prcessor(RegexpPreview::{Signle,Multi}Line
|
|
regexp: preview.try(:regexp).try(:source),
|
|
time_format: preview.try(:time_format),
|
|
}
|
|
},
|
|
matches: matches.compact,
|
|
}
|
|
end
|
|
|
|
def grok_to_regexp
|
|
grok = GrokConverter.new
|
|
grok.load_patterns
|
|
render text: grok.convert_to_regexp(params[:grok_str]).source
|
|
end
|
|
end
|
|
|