Merge branch '2-request-list-show-ip-http-method' into 'master'
Resolve "Request list - Show IP + HTTP Method." Closes #2 See merge request pnx/httpcb!2
This commit is contained in:
commit
279e6a30c1
5 changed files with 136 additions and 35 deletions
|
|
@ -35,23 +35,45 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-uri {
|
&-row {
|
||||||
display: inline-block;
|
display: block;
|
||||||
width: 45%;
|
& + & {
|
||||||
|
margin-top: .4em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-size {
|
&-method,
|
||||||
|
&-uri,
|
||||||
|
&-type,
|
||||||
|
&-timestamp,
|
||||||
|
&-size,
|
||||||
|
&-ip {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 10%;
|
.icon {
|
||||||
|
margin: 0 .2em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-type,
|
&-type,
|
||||||
&-timestamp {
|
&-timestamp,
|
||||||
display: inline-block;
|
&-size,
|
||||||
width: 20%;
|
&-ip {
|
||||||
.icon {
|
color: @request-item-light-color;
|
||||||
padding: 0 .4em;
|
font-size: @font-size-small;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&-method {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-type,
|
||||||
|
&-size {
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-ip,
|
||||||
|
&-timestamp {
|
||||||
|
float: right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,7 @@
|
||||||
// ----------------------------------
|
// ----------------------------------
|
||||||
|
|
||||||
@request-item-color: @dark-grey;
|
@request-item-color: @dark-grey;
|
||||||
|
@request-item-light-color: #666;
|
||||||
@request-item-background: transparent;
|
@request-item-background: transparent;
|
||||||
@request-item-border-color: @light-grey;
|
@request-item-border-color: @light-grey;
|
||||||
@request-item-active-color: @dark-grey;
|
@request-item-active-color: @dark-grey;
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,9 @@ class CallbackController extends ControllerBase
|
||||||
{
|
{
|
||||||
$this->view->disable();
|
$this->view->disable();
|
||||||
|
|
||||||
|
$allowed_methods = array('GET', 'POST');
|
||||||
|
if ($this->request->isMethod($allowed_methods)) {
|
||||||
|
|
||||||
$callback = Model\Data\Callback::get($id);
|
$callback = Model\Data\Callback::get($id);
|
||||||
|
|
||||||
$request = new Model\Data\Request();
|
$request = new Model\Data\Request();
|
||||||
|
|
@ -136,6 +139,9 @@ class CallbackController extends ControllerBase
|
||||||
$meta = new Model\Data\RequestMeta();
|
$meta = new Model\Data\RequestMeta();
|
||||||
$meta->Callback = $callback;
|
$meta->Callback = $callback;
|
||||||
$meta->RequestObject = $request;
|
$meta->RequestObject = $request;
|
||||||
|
|
||||||
|
$meta->setSourceIp($this->request->getClientAddress());
|
||||||
|
$meta->setMethod($this->request->isPost() ? 'POST' : 'GET');
|
||||||
$meta->setUri($this->request->getServer('REQUEST_URI'));
|
$meta->setUri($this->request->getServer('REQUEST_URI'));
|
||||||
|
|
||||||
$result = $meta->save();
|
$result = $meta->save();
|
||||||
|
|
@ -143,4 +149,7 @@ class CallbackController extends ControllerBase
|
||||||
var_dump($meta->getMessages());
|
var_dump($meta->getMessages());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,20 @@ class RequestMeta extends Model
|
||||||
*/
|
*/
|
||||||
protected $callbackid;
|
protected $callbackid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Source IP Address
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $source_ip;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTTP Method
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $method;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HTTP Request Uri
|
* HTTP Request Uri
|
||||||
*
|
*
|
||||||
|
|
@ -79,6 +93,42 @@ class RequestMeta extends Model
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $source_ip
|
||||||
|
* @return RequestMeta
|
||||||
|
*/
|
||||||
|
public function setSourceIp($source_ip)
|
||||||
|
{
|
||||||
|
$this->source_ip = (string) $source_ip;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getSourceIp()
|
||||||
|
{
|
||||||
|
return $this->source_ip;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $method
|
||||||
|
* @return RequestMeta
|
||||||
|
*/
|
||||||
|
public function setMethod($method)
|
||||||
|
{
|
||||||
|
$this->method = (string) $method;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getMethod()
|
||||||
|
{
|
||||||
|
return $this->method;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $uri
|
* @param string $uri
|
||||||
* @return RequestMeta
|
* @return RequestMeta
|
||||||
|
|
|
||||||
|
|
@ -14,13 +14,24 @@
|
||||||
data-toggle="collapse" data-parent="#request-log"
|
data-toggle="collapse" data-parent="#request-log"
|
||||||
aria-expanded="true" aria-controls="request{{ index }}">
|
aria-expanded="true" aria-controls="request{{ index }}">
|
||||||
|
|
||||||
|
<div class="request-list-item-header-row">
|
||||||
|
|
||||||
|
<span class="request-list-item-header-method">
|
||||||
|
{{ req.getMethod() }}
|
||||||
|
</span>
|
||||||
|
|
||||||
<span class="request-list-item-header-uri">
|
<span class="request-list-item-header-uri">
|
||||||
{{ icon('android-locate') }} <span class="url">{{ urlStyle(req.getUri()) }}</span>
|
<span class="url">{{ urlStyle(req.getUri()) }}</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="request-list-item-header-timestamp">
|
<span class="request-list-item-header-timestamp">
|
||||||
{{ icon('android-time') }} {{ req.getTimestamp() }}
|
{{ icon('android-time') }} {{ req.getTimestamp() }}
|
||||||
</span>
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="request-list-item-header-row">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<span class="request-list-item-header-type">
|
<span class="request-list-item-header-type">
|
||||||
{{ icon('android-list') }} {{ req.getType() }}
|
{{ icon('android-list') }} {{ req.getType() }}
|
||||||
|
|
@ -29,6 +40,14 @@
|
||||||
<span class="request-list-item-header-size">
|
<span class="request-list-item-header-size">
|
||||||
{{ icon('cube') }} {{ req.getSize() }} b
|
{{ icon('cube') }} {{ req.getSize() }} b
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span class="request-list-item-header-ip">
|
||||||
|
{{ icon('location') }} {{ req.getSourceIp() }}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div class="collapse" id="request{{ index }}"
|
<div class="collapse" id="request{{ index }}"
|
||||||
|
|
|
||||||
Reference in a new issue