summaryrefslogtreecommitdiff
path: root/app/models/pages/lookup_path.rb
diff options
context:
space:
mode:
authorKrasimir Angelov <kangelov@gitlab.com>2019-09-06 17:20:05 +1200
committerKrasimir Angelov <kangelov@gitlab.com>2019-09-10 13:56:07 +1200
commit676675dc0b95194be72dfa13829b5ba06e0d1844 (patch)
tree21a2227c9ea34b715016456ef37e2f0b4eed5df2 /app/models/pages/lookup_path.rb
parent8ce331c206dd97bbfc672a554afb8bc0f8039983 (diff)
downloadgitlab-ce-676675dc0b95194be72dfa13829b5ba06e0d1844.tar.gz
Add support for custom domains to the internal Pages API
Update the `/internal/pages` endpoint to return virtual domain configuration for custom domains.
Diffstat (limited to 'app/models/pages/lookup_path.rb')
-rw-r--r--app/models/pages/lookup_path.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/app/models/pages/lookup_path.rb b/app/models/pages/lookup_path.rb
new file mode 100644
index 00000000000..1b3183a2a43
--- /dev/null
+++ b/app/models/pages/lookup_path.rb
@@ -0,0 +1,38 @@
+# frozen_string_literal: true
+
+module Pages
+ class LookupPath
+ def initialize(project, domain: nil)
+ @project = project
+ @domain = domain
+ end
+
+ def project_id
+ project.id
+ end
+
+ def access_control
+ project.private_pages?
+ end
+
+ def https_only
+ domain_https = domain ? domain.https? : true
+ project.pages_https_only? && domain_https
+ end
+
+ def source
+ {
+ type: 'file',
+ path: File.join(project.full_path, 'public/')
+ }
+ end
+
+ def prefix
+ '/'
+ end
+
+ private
+
+ attr_reader :project, :domain
+ end
+end