diff --git a/app/assets/less/application.less b/app/assets/less/application.less
index d01dfa6..850a879 100644
--- a/app/assets/less/application.less
+++ b/app/assets/less/application.less
@@ -28,6 +28,7 @@
@import "layout/footer";
// Components
+@import "components/url";
@import "components/icon";
@import "components/button";
@import "components/badge";
diff --git a/app/assets/less/components/request-item.less b/app/assets/less/components/request-item.less
index 8231834..72b2772 100644
--- a/app/assets/less/components/request-item.less
+++ b/app/assets/less/components/request-item.less
@@ -35,13 +35,17 @@
}
}
- &-index {
+ &-uri {
+ display: inline-block;
+ width: 45%;
+ }
+
+ &-size {
display: inline-block;
width: 10%;
}
&-type,
- &-size,
&-timestamp {
display: inline-block;
width: 20%;
diff --git a/app/assets/less/components/url.less b/app/assets/less/components/url.less
new file mode 100644
index 0000000..9006d2c
--- /dev/null
+++ b/app/assets/less/components/url.less
@@ -0,0 +1,8 @@
+
+.url {
+
+ &-query,
+ &-fragment {
+ color: #9c9c9c;
+ }
+}
diff --git a/app/controllers/CallbackController.php b/app/controllers/CallbackController.php
index 3b4341f..02692f3 100644
--- a/app/controllers/CallbackController.php
+++ b/app/controllers/CallbackController.php
@@ -136,6 +136,8 @@ class CallbackController extends ControllerBase
$meta = new Model\Data\RequestMeta();
$meta->Callback = $callback;
$meta->RequestObject = $request;
+ $meta->setUri($this->request->getServer('REQUEST_URI'));
+
$result = $meta->save();
if ($result == false) {
var_dump($meta->getMessages());
diff --git a/app/library/ViewHelper/UrlStyle.php b/app/library/ViewHelper/UrlStyle.php
new file mode 100644
index 0000000..de358d4
--- /dev/null
+++ b/app/library/ViewHelper/UrlStyle.php
@@ -0,0 +1,69 @@
+ tags with class names.
+ *
+ * classes/parts are:
+ * scheme
+ * host
+ * port
+ * path
+ * query
+ * fragment
+ *
+ * @package ViewHelper
+ */
+class UrlStyle extends AbstractHelper
+{
+ /**
+ * Prefix (or namespace) for css classes.
+ *
+ * @var string
+ */
+ protected $_classPrefix = 'url-';
+
+ public function urlStyle($url)
+ {
+ $parts = parse_url($url);
+
+ if ($parts === null) {
+ return $url;
+ }
+
+ $xhtml = '';
+
+ if (isset($parts['scheme'])) {
+ $xhtml .= $this->_htmlElement('scheme', $parts['scheme'] . '://');
+ }
+
+ if (isset($parts['host'])) {
+ $xhtml .= $this->_htmlElement('host', $parts['host']);
+ }
+
+ if (isset($parts['port'])) {
+ $xhtml .= $this->_htmlElement('port', ':' . $parts['port']);
+ }
+
+ $xhtml .= $this->_htmlElement('path', $parts['path']);
+
+ if (isset($parts['query'])) {
+ $xhtml .= $this->_htmlElement('query', '?' . $parts['query']);
+ }
+
+ if (isset($parts['fragment'])) {
+ $xhtml .= $this->_htmlElement('fragment', '#' . $parts['fragment']);
+ }
+
+ return $xhtml;
+ }
+
+ protected function _htmlElement($class, $content)
+ {
+ $class = $this->_classPrefix . $class;
+ return '' . $content . '';
+ }
+}
diff --git a/app/models/Data/RequestMeta.php b/app/models/Data/RequestMeta.php
index e4ce3af..df164fa 100644
--- a/app/models/Data/RequestMeta.php
+++ b/app/models/Data/RequestMeta.php
@@ -18,6 +18,20 @@ class RequestMeta extends Model
*/
protected $callbackid;
+ /**
+ * HTTP Request Uri
+ *
+ * @var string
+ */
+ protected $uri;
+
+ /**
+ * Cached query parameters from request uri.
+ *
+ * @var array|null
+ */
+ protected $_uri_query = null;
+
/**
*
* @var string
@@ -65,6 +79,50 @@ class RequestMeta extends Model
return $this;
}
+ /**
+ * @param string $uri
+ * @return RequestMeta
+ */
+ public function setUri($uri)
+ {
+ $this->uri = (string) $uri;
+
+ // New uri string, invalidate query.
+ $this->_uri_query = null;
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getUri()
+ {
+ return $this->uri;
+ }
+
+ /**
+ * @return array
+ */
+ public function getUriQuery()
+ {
+ if ($this->_uri_query === null) {
+
+ $query = (string) parse_url($this->getUri(), PHP_URL_QUERY);
+
+ $ret = array();
+ foreach(explode('&', $query) as $v) {
+ @list($k, $v) = explode('=', $v, 2);
+ if (strlen($k) > 0) {
+ $ret[$k] = $v;
+ }
+ }
+ $this->_uri_query = $ret;
+ }
+
+ return $this->_uri_query;
+ }
+
+
/**
* Method to set the value of field Timestamp
*
diff --git a/app/views/callback/show.volt b/app/views/callback/show.volt
index 2462b3e..afa613a 100644
--- a/app/views/callback/show.volt
+++ b/app/views/callback/show.volt
@@ -14,8 +14,8 @@
data-toggle="collapse" data-parent="#request-log"
aria-expanded="true" aria-controls="request{{ index }}">
-