From d098f239a1862bcdc3666a9ae17e934f67c72996 Mon Sep 17 00:00:00 2001 From: Yessiest Date: Sat, 25 Jan 2025 01:16:56 +0000 Subject: [PATCH] a few examples for testing purposes; basic unicode validation for paths (less 500s on invalid unicode spam) --- examples/fileserving.ru | 17 +++++++++++++ examples/uploader/files/.bashrc | 10 -------- examples/uploader/form.ru | 6 +++-- examples/uploader/index.rhtml | 43 +++++++++++++++++++++++++++++++-- landline.gemspec | 4 +-- lib/landline.rb | 2 +- lib/landline/server.rb | 19 +++++++++++++++ 7 files changed, 84 insertions(+), 17 deletions(-) create mode 100644 examples/fileserving.ru delete mode 100644 examples/uploader/files/.bashrc diff --git a/examples/fileserving.ru b/examples/fileserving.ru new file mode 100644 index 0000000..27ff773 --- /dev/null +++ b/examples/fileserving.ru @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'landline' + +class App < Landline::App + path "/outer" do + path "/inner" do + get "/oucher" do + "Hello world" + end + remap __dir__ + serve "*" + end + end +end + +run App.new diff --git a/examples/uploader/files/.bashrc b/examples/uploader/files/.bashrc deleted file mode 100644 index dfa913b..0000000 --- a/examples/uploader/files/.bashrc +++ /dev/null @@ -1,10 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -# alias ls='ls --color=auto' -# alias grep='grep --color=auto' -# PS1='[\u@\h \W]\$ ' diff --git a/examples/uploader/form.ru b/examples/uploader/form.ru index ac494d4..5aa1f93 100644 --- a/examples/uploader/form.ru +++ b/examples/uploader/form.ru @@ -3,8 +3,10 @@ $LOAD_PATH.unshift("#{File.dirname(__FILE__)}/lib") require 'landline' +ROOT=__dir__ + app = Landline::Server.new do - root ENV["PWD"] + root ROOT index ["index.html"] post "/" do formdata = form if form? @@ -12,7 +14,7 @@ app = Landline::Server.new do if formdata formdata["form_files"].each do |file| filename = file.filename.split("/").last - `mv #{file.tempfile.path} $PWD/files/#{filename}` + `mv #{file.tempfile.path} #{ROOT}/files/#{filename}` files[file.filename] = "#{filename}" end end diff --git a/examples/uploader/index.rhtml b/examples/uploader/index.rhtml index 6abb370..5ee4606 100644 --- a/examples/uploader/index.rhtml +++ b/examples/uploader/index.rhtml @@ -1,4 +1,4 @@ - + Form upload test @@ -7,6 +7,42 @@ +

File uploader


Add files here:

@@ -15,8 +51,11 @@ enctype="multipart/form-data"> - + +

<% if (defined? formdata) and formdata %>