summaryrefslogtreecommitdiffabout
path: root/lib/util.cc
Side-by-side diff
Diffstat (limited to 'lib/util.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--lib/util.cc22
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/util.cc b/lib/util.cc
index 69d37b5..83f0eef 100644
--- a/lib/util.cc
+++ b/lib/util.cc
@@ -187,12 +187,2 @@ namespace opkele {
bool s;
- if(rv=="http:")
- s = false;
- else if(rv=="https:")
- s = true;
-#ifndef NDEBUG
- else if(rv=="file:")
- s = false;
-#endif /* XXX: or try to make tests work some other way */
- else
- throw not_implemented(OPKELE_CP_ "Only http(s) URIs can be normalized here");
string::size_type ul = uri.find_last_not_of(whitespace)+1;
@@ -202,2 +192,14 @@ namespace opkele {
throw bad_input(OPKELE_CP_ "Unexpected input in URI being normalized after scheme component");
+ if(rv=="http:")
+ s = false;
+ else if(rv=="https:")
+ s = true;
+ else{
+ /* TODO: support more schemes.
+ * e.g. xri. How do we normalize
+ * xri?
+ */
+ rv.append(uri,colon+1,ul-colon-1);
+ return rv;
+ }
rv += "//";