| @@ -10,6 +10,6 @@ module CustomRegexp | |||||
| IP = /^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/ | IP = /^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/ | ||||
| URL_REGEX = /\A(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?\z/i | URL_REGEX = /\A(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?\z/i | ||||
| REPOSITORY_NAME_REGEX = /^(?!_)(?!.*?_$)[a-zA-Z0-9_-]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾 | |||||
| REPOSITORY_NAME_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9\-\_\.]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾 | |||||
| MD_REGEX = /^.+(\.[m|M][d|D])$/ | MD_REGEX = /^.+(\.[m|M][d|D])$/ | ||||
| end | end | ||||
| @@ -467,7 +467,7 @@ Rails.application.routes.draw do | |||||
| namespace :traces do | namespace :traces do | ||||
| resources :trace_users, only: [:create] | resources :trace_users, only: [:create] | ||||
| scope "/:owner/:repo" do | |||||
| scope "/:owner/:repo", constraints: { repo: /[^\/]+/ } do | |||||
| resource :projects, path: '/', only: [:index] do | resource :projects, path: '/', only: [:index] do | ||||
| member do | member do | ||||
| post :tasks | post :tasks | ||||
| @@ -480,7 +480,7 @@ Rails.application.routes.draw do | |||||
| end | end | ||||
| # Project Area START | # Project Area START | ||||
| scope "/:owner/:repo" do | |||||
| scope "/:owner/:repo",constraints: { repo: /[^\/]+/ } do | |||||
| scope do | scope do | ||||
| get( | get( | ||||
| '/activity', | '/activity', | ||||
| @@ -18,7 +18,7 @@ defaults format: :json do | |||||
| resources :feedbacks, only: [:create] | resources :feedbacks, only: [:create] | ||||
| end | end | ||||
| scope ':repo' do | |||||
| scope ':repo', constraints: { repo: /[^\/]+/ } do | |||||
| # projects | # projects | ||||
| resource :projects, path: '/', only: [:show, :update, :edit, :destroy] do | resource :projects, path: '/', only: [:show, :update, :edit, :destroy] do | ||||
| collection do | collection do | ||||