]> granicus.if.org Git - icinga2/commitdiff
Fix filtering by name
authorGunnar Beutner <gunnar@beutner.name>
Fri, 28 Aug 2015 08:52:59 +0000 (10:52 +0200)
committerGunnar Beutner <gunnar@beutner.name>
Fri, 28 Aug 2015 08:52:59 +0000 (10:52 +0200)
fixes #10027

lib/remote/filterutility.cpp
lib/remote/httpresponse.cpp

index 3c4f6f2a0fffb0f16f3540c2c3c828b8056ddec0..0b14dec6a50ef159e9df22e119a5cf9b78ba89d0 100644 (file)
@@ -105,7 +105,7 @@ std::vector<Value> FilterUtility::GetFilterTargets(const QueryDescription& qd, c
                        attr = "name";
 
                if (query->Contains(attr))
-                       result.push_back(provider->GetTargetByName(type, query->Get(attr)));
+                       result.push_back(provider->GetTargetByName(type, HttpUtility::GetLastParameter(query, attr)));
 
                attr = provider->GetPluralName(type);
                boost::algorithm::to_lower(attr);
index a9af73bfd100db11232dffd5be18652ad75c7b38..631c13a3502d112b5c35d848bbcb2edb328c324a 100644 (file)
@@ -87,7 +87,6 @@ void HttpResponse::WriteBody(const char *data, size_t count)
 void HttpResponse::Finish(void)
 {
        ASSERT(m_State != HttpResponseEnd);
-       m_State = HttpResponseEnd;
 
        if (m_Request.ProtocolVersion == HttpVersion10) {
                if (m_Body)
@@ -105,6 +104,8 @@ void HttpResponse::Finish(void)
                m_Stream->Write("\r\n", 2);
        }
 
+       m_State = HttpResponseEnd;
+
        if (m_Request.ProtocolVersion == HttpVersion10 || m_Request.Headers->Get("connection") == "close")
                m_Stream->Shutdown();
 }