diff --git a/app.rb b/app.rb index 9fbdb1a..9d7ade9 100644 --- a/app.rb +++ b/app.rb @@ -102,13 +102,18 @@ helpers do res = Net::HTTP.start(uri.host, uri.port) { |http| http.request(proxied) } + body = res.body || '' + if res['Content-Type']&.include?('text/html') + body = body.sub(/(]*>)/i) { "#{Regexp.last_match(1)}\n#{erb(:_navbar, layout: false)}" } + end + headers = {} res.each_header do |key, value| next if %w[transfer-encoding connection content-length].include?(key.downcase) headers[key] = value end - [res.code.to_i, headers, [res.body || '']] + [res.code.to_i, headers, [body]] end end diff --git a/views/_navbar.erb b/views/_navbar.erb new file mode 100644 index 0000000..c55002d --- /dev/null +++ b/views/_navbar.erb @@ -0,0 +1,27 @@ + diff --git a/views/layout.erb b/views/layout.erb index 4fe379e..3b616b6 100644 --- a/views/layout.erb +++ b/views/layout.erb @@ -10,27 +10,7 @@
- + <%= erb :_navbar, layout: false %>
<% if @alert_success then %>
<%=@alert_success%>