Main.cfc 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. component extends="coldbox.system.EventHandler" {
  2. property name='cache' inject='cachebox:default';
  3. function prehandler( event ) {
  4. event.setHTTPHeader( name="Server", value="cfml-coldbox" )
  5. .noLayout();
  6. }
  7. function json( event, rc, prc ) {
  8. event.renderData( data={ 'message' : 'Hello, World!' }, type="json" );
  9. }
  10. function db( event, rc, prc ) {
  11. var qry = queryExecute( '
  12. SELECT id, randomNumber
  13. FROM World
  14. WHERE id = #randRange( 1, 10000 )#
  15. ');
  16. event.renderData( data=qry.getRow( 1 ), type="json" );
  17. }
  18. function queries( event, rc, prc ) {
  19. event.paramValue( 'queries', 1 );
  20. rc.queries = val( rc.queries );
  21. if( rc.queries > 500 ) {
  22. rc.queries = 500;
  23. } else if( rc.queries < 1 ) {
  24. rc.queries = 1;
  25. }
  26. var results = [];
  27. cfloop( from="1", to="#rc.queries#", index="local.i" ) {
  28. var qry = queryExecute( '
  29. SELECT id, randomNumber
  30. FROM World
  31. WHERE id = #randRange( 1, 10000 )#
  32. ');
  33. results.append( qry.getRow( 1 ) );
  34. }
  35. event.renderData( data=results, type="json" );
  36. }
  37. function fortunes( event, rc, prc ) {
  38. var qry = queryExecute( '
  39. SELECT id, message
  40. FROM Fortune
  41. ');
  42. qry.addRow( { 'id' : 0, 'message' : 'Additional fortune added at request time.' } );
  43. prc.qry = qry.sort( (a,b)=>compareNoCase(a.message,b.message) );
  44. event.setView( "main/fortunes" );
  45. }
  46. function plaintext( event, rc, prc ) {
  47. event.renderData( data="Hello, World!", type="plain", contentType="text/plain" );
  48. }
  49. function updates( event, rc, prc ) {
  50. event.paramValue( 'queries', 1 );
  51. rc.queries = val( rc.queries );
  52. if( rc.queries > 500 ) {
  53. rc.queries = 500;
  54. } else if( rc.queries < 1 ) {
  55. rc.queries = 1;
  56. }
  57. var results = [];
  58. cfloop( from="1", to="#rc.queries#", index="local.i" ) {
  59. var qry = queryExecute( '
  60. SELECT id, randomNumber
  61. FROM World
  62. WHERE id = #randRange( 1, 10000 )#
  63. ');
  64. results.append( { 'id' : qry.id, 'randomNumber' : randRange( 1, 1000 ) } );
  65. }
  66. cfloop( array="#results#", index="local.i" ) {
  67. queryExecute( '
  68. update World
  69. SET randomNumber = #val( i.randomNumber )#
  70. where id = #val( i.id )#;
  71. ');
  72. }
  73. event.renderData( data=results, type="json" );
  74. }
  75. function cached( event, rc, prc ) {
  76. event.paramValue( 'count', 1 );
  77. rc.count = val( rc.count );
  78. if( rc.count > 500 ) {
  79. rc.count = 500;
  80. } else if( rc.count < 1 ) {
  81. rc.count = 1;
  82. }
  83. var results = [];
  84. cfloop( from="1", to="#rc.count#", index="local.i" ) {
  85. var id = randRange( 1, 10000 );
  86. var qry = cache.getOrSet(
  87. 'cached-world-#local.id#',
  88. ()=>queryExecute( '
  89. SELECT id, randomNumber
  90. FROM World
  91. WHERE id = #id#
  92. ').getRow( 1 ) );
  93. results.append( qry );
  94. }
  95. event.renderData( data=results, type="json" );
  96. }
  97. }