1
0
Fork 0
This commit is contained in:
Jan Steemann 2013-01-28 11:26:58 +01:00
parent 085c03609f
commit 57403527a9
3 changed files with 45 additions and 3 deletions

View File

@ -1,6 +1,9 @@
v1.2.alpha (XXXX-XX-XX)
-----------------------
* issue #374: prevent endless redirects when calling admin interface with
unexpected URLs
* issue #373: TRAVERSE() `trackPaths` option does not work. Instead `paths` does work
* issue #358: added support for CORS

View File

@ -7,11 +7,17 @@ describe ArangoDB do
context "dealing with the admin interface:" do
before do
# load the most current routing information
cmd = "/_admin/routing/reload"
doc = ArangoDB.log_get("admin-interface-get", cmd)
end
################################################################################
## check whether admin interface is accessible
################################################################################
it "checks whether the admin interface is available at /_admin/html" do
it "checks whether the admin interface is available at /_admin/html/index.html" do
cmd = "/_admin/html/index.html"
doc = ArangoDB.log_get("admin-interface-get", cmd, :format => :plain)
@ -19,7 +25,39 @@ describe ArangoDB do
doc.code.should eq(200)
# check whether HTML result contains expected title
doc.response.body.should include("ArangoDB - WebAdmin")
end
it "checks whether the admin interface is available at /_admin/html" do
cmd = "/_admin/html"
begin
doc = ArangoDB.log_get("admin-interface-get", cmd, :format => :plain, :no_follow => true)
rescue HTTParty::RedirectionTooDeep => e
# check response code
e.response.code.should eq("301")
e.response.header['location'].should eq("/_admin/html/index.html")
end
end
it "checks whether the admin interface is available at /_admin/html/" do
cmd = "/_admin/html/"
begin
doc = ArangoDB.log_get("admin-interface-get", cmd, :format => :plain, :no_follow => true)
rescue HTTParty::RedirectionTooDeep => e
# check response code
e.response.code.should eq("301")
e.response.header['location'].should eq("/_admin/html/index.html")
end
end
it "checks whether the admin interface is available at /" do
cmd = "/"
begin
doc = ArangoDB.log_get("admin-interface-get", cmd, :format => :plain, :no_follow => true)
rescue HTTParty::RedirectionTooDeep => e
# check response code
e.response.code.should eq("301")
e.response.header['location'].should eq("/_admin/html/index.html")
end
end
end

View File

@ -73,8 +73,9 @@ namespace triagens {
string url = _request->requestPath();
if (! url.empty() && url[url.size() - 1] != '/') {
url += "/" + defaultFile;
url += '/';
}
url += defaultFile;
_response = createResponse(HttpResponse::MOVED_PERMANENTLY);