code: function HttpContentResult(content) {
  
      var self = this;
      Object.defineProperty(this, 'data', {
         get: function() {
             return self[dataProperty];
         },
          set: function(value) {
              self[dataProperty] = value;
             if (value instanceof Buffer) {
                 self.contentEncoding = 'binary';
             }
          },
          configurable: true,
          enumerable: false
      });
      //set default content type and encoding
      this.contentType = 'text/html';
      this.contentEncoding = 'utf8';
      this.data = content;
  }
docs: @classdesc Represents a user-defined content that is a result of an action.
  @class
  @param {string|Buffer} content - A string or an instance of Buffer class which represents the action result.
  @augments HttpResult
  
  @example
  
  import HttpBaseController from '@themost/web/controllers/base';
  import {httpController,httpGet, httpAction} from '@themost/web/decorators';
  import {HttpContentResult} from "@themost/web/mvc";
  
  \@httpController()
  export default class HelloController extends HttpBaseController {
  
  constructor(context) {
  super(context);
  }
  
  \@httpGet()
  \@httpAction('index')
  getIndex() {
  return new HttpContentResult(`
  <h2>
  Hello World!
  </h2>
  `));
  }
  
  }
  
  @example
  
  import HttpBaseController from '@themost/web/controllers/base';
  import {httpController,httpGet, httpAction} from '@themost/web/decorators';
  import {HttpContentResult} from "@themost/web/mvc";
  
  \@httpController()
  export default class HelloController extends HttpBaseController {
  
  constructor(context) {
  super(context);
  }
  
  \@httpGet()
  \@httpAction('index')
  getIndex() {
  return this.content(`
  <h2>
  Hello World!
  </h2>
  `));
  }
  
  }