@@ -521,23 +521,8 @@ namespace mtconnect {
521521 void RestService::createAssetRoutings ()
522522 {
523523 using namespace rest_sink ;
524- auto handler = [&](SessionPtr session, RequestPtr request) -> bool {
525- auto removed = *request->parameter <bool >(" removed" );
526- auto count = *request->parameter <int32_t >(" count" );
527- auto pretty = request->parameter <bool >(" pretty" ).value_or (false );
528- auto format = request->parameter <string>(" format" );
529- auto printer = getPrinter (request->m_accepts , format);
530-
531- request->m_request = " MTConnectAssets" ;
532524
533- respond (session,
534- assetRequest (printer, count, removed, request->parameter <string>(" type" ),
535- request->parameter <string>(" device" ), pretty, request->m_requestId ),
536- request->m_requestId );
537- return true ;
538- };
539-
540- auto idHandler = [&](SessionPtr session, RequestPtr request) -> bool {
525+ auto idHandler = [this ](SessionPtr session, RequestPtr request) -> bool {
541526 auto asset = request->parameter <string>(" assetIds" );
542527 request->m_request = " MTConnectAssets" ;
543528
@@ -564,17 +549,41 @@ namespace mtconnect {
564549 return true ;
565550 };
566551
552+ auto handler = [this , idHandler](SessionPtr session, RequestPtr request) -> bool {
553+ auto assets = request->parameter <string>(" assetIds" );
554+ if (assets)
555+ {
556+ return idHandler (session, request);
557+ }
558+
559+ auto removed = *request->parameter <bool >(" removed" );
560+ auto count = *request->parameter <int32_t >(" count" );
561+ auto pretty = request->parameter <bool >(" pretty" ).value_or (false );
562+ auto format = request->parameter <string>(" format" );
563+ auto printer = getPrinter (request->m_accepts , format);
564+
565+ request->m_request = " MTConnectAssets" ;
566+
567+ respond (session,
568+ assetRequest (printer, count, removed, request->parameter <string>(" type" ),
569+ request->parameter <string>(" device" ), pretty, request->m_requestId ),
570+ request->m_requestId );
571+ return true ;
572+ };
573+
567574 string qp (
568575 " type={string}&removed={bool:false}&"
569576 " count={integer:100}&device={string}&pretty={bool:false}&format={string}" );
570577 m_server->addRouting ({boost::beast::http::verb::get, " /assets?" + qp, handler})
571578 .document (" MTConnect assets request" , " Returns up to `count` assets" );
579+ m_server->addRouting ({boost::beast::http::verb::get, " /{device}/assets?" + qp, handler})
580+ .document (" MTConnect assets request" , " Returns up to `count` assets for deivce `device`" )
581+ .command (" assets" );
572582 m_server->addRouting ({boost::beast::http::verb::get, " /asset?" + qp, handler})
573583 .document (" MTConnect asset request" , " Returns up to `count` assets" );
574- m_server->addRouting ({boost::beast::http::verb::get, " /{device}/assets?" + qp, handler})
575- .document (" MTConnect assets request" , " Returns up to `count` assets for deivce `device`" );
576584 m_server->addRouting ({boost::beast::http::verb::get, " /{device}/asset?" + qp, handler})
577- .document (" MTConnect asset request" , " Returns up to `count` assets for deivce `device`" );
585+ .document (" MTConnect asset request" , " Returns up to `count` assets for deivce `device`" )
586+ .command (" asset" );
578587 m_server->addRouting ({boost::beast::http::verb::get, " /assets/{assetIds}" , idHandler})
579588 .document (
580589 " MTConnect assets request" ,
@@ -727,9 +736,13 @@ namespace mtconnect {
727736 void RestService::createSampleRoutings ()
728737 {
729738 using namespace rest_sink ;
739+
730740 auto handler = [&](SessionPtr session, RequestPtr request) -> bool {
731741 request->m_request = " MTConnectStreams" ;
732742
743+ if (!request->parameter <int32_t >(" count" ))
744+ request->m_parameters [" count" ] = 100 ;
745+
733746 auto interval = request->parameter <int32_t >(" interval" );
734747 if (interval)
735748 {
@@ -959,7 +972,7 @@ namespace mtconnect {
959972 }
960973 else
961974 {
962- LOG (debug) << " Sink close when failing sample respone : " << message;
975+ LOG (debug) << " Sink close when failing sample response : " << message;
963976 }
964977 }
965978
0 commit comments