winix/winixd/core
Tomasz Sowa d5ebb7ca12 changed the way how the request's answer is created,
now winix can return json, xml, csv from out_main_stream or from frames and json from models

removed from Request:
  bool send_bin_stream
  bool return_json
  bool return_info_only
  pt::Space info
  bool page_generated
  bool out_main_stream_use_html_filter
  bool out_streams_use_html_filter

added to Request:
  enum AnswerSource
  enum AnswerContainer
  AnswerSource answer_source
  AnswerContainer answer_container
  bool use_ezc_engine
  std::wstring frame
  bool send_all_frames
  bool use_html_filter

added to Config:
 // the name of the url parameter for returning all frames, e.g. https://domain.tld/mydir/myfunction/allframes
 // default: allframes
 std::wstring request_all_frames_parameter;

 // the name of the root element when serializing request answer to xml
 // default: winix
 std::wstring xml_root;

algorithm (the whole algorithm is described in core/request.h):
at the beginning of a request winix sets
   answer_source to models
   answer_container to text
   use_ezc_engine to true

next answer_container and use_ezc_engine can be changed in the following way:

1. winix will look for 'Accept' http header and depending on the header winix will set:
   (not implemented yet)

             Accept | answer_container | use_ezc_engine
	     ------------------------------------|-----------------
	     application/json | json             | false
	      application/xml | xml              | false
	              text/csv | csv              | false

2. next answer_container is set depending on 'container' url parameter
       container | answer_container
 ---------------------------------------------------------
     not present | don't change the value
            text | text
            json | json
             xml | xml
             csv | csv

use_ezc_engine is set depending on 'answer' url parameter:
          answer | use_ezc_engine
 ---------------------------------
     not present | don't change the value
            html | true
            data | false

if 'answer' is html then we take into account two more parameters:
 frame: frame_name (empty default) - if set then winix returns this specific frame
 allframes: (if present then winix returns all frames)
2021-10-13 01:27:14 +02:00
..
Makefile fixed compilation: pikotools is in src subdirectory now 2021-05-27 12:04:41 +02:00
Makefile.dep changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
Makefile.o.dep make depend 2021-07-17 13:57:39 +02:00
acceptbaseparser.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
acceptbaseparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
acceptencodingparser.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
app.cpp changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
app.h changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
basethread.cpp updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
basethread.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
compress.cpp changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
compress.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
config.cpp changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
config.h changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
cookieparser.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
crypt.cpp - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
crypt.h start working on User and Group classes 2021-04-30 01:34:48 +02:00
cur.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
dircontainer.cpp some ezc functions from templates/item.cpp moved to Item and ItemContent 2021-06-18 19:18:13 +02:00
dircontainer.h some ezc functions from templates/item.cpp moved to Item and ItemContent 2021-06-18 19:18:13 +02:00
dirs.cpp some ezc functions from templates/item.cpp moved to Item and ItemContent 2021-06-18 19:18:13 +02:00
dirs.h some ezc functions from templates/item.cpp moved to Item and ItemContent 2021-06-18 19:18:13 +02:00
error.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
filelog.cpp namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
filelog.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
groups.cpp - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
groups.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
header.h changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
httpsimpleparser.cpp updated to the new pikotools api: changed utf8 functions PascalCase to snake_case 2021-05-21 00:41:27 +02:00
httpsimpleparser.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
image.cpp updated to the new pikotools api: changed utf8 functions PascalCase to snake_case 2021-05-21 00:41:27 +02:00
image.h Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
ipban.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
ipbancontainer.cpp namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
ipbancontainer.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
job.cpp namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
job.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
lastcontainer.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
lastcontainer.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
loadavg.cpp added printing info how much time winix spent in the ezc engine 2021-06-24 15:33:44 +02:00
loadavg.h added printing info how much time winix spent in the ezc engine 2021-06-24 15:33:44 +02:00
lock.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
lock.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
log.cpp updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
log.h updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
logmanipulators.h updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
misc.cpp changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
misc.h changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
mount.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
mount.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
mountparser.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
mountparser.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
mounts.cpp Item class has been moved to a new directory 'models', a new class has been added: ItemContent 2021-02-24 01:19:47 +01:00
mounts.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
plugin.cpp renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
plugin.h some ezc functions from templates/item.cpp moved to Item and ItemContent 2021-06-18 19:18:13 +02:00
plugindata.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
plugindata.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
pluginmsg.h added WINIX_MAKE_DATABASE_MIGRATION plugin message for making migrations from plugins 2021-08-11 22:18:14 +02:00
postmultiparser.cpp updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
postmultiparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
postparser.h updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
rebus.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
rebus.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
request.cpp changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
request.h changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
requesttypes.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
run.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
run.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
session.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
session.h some ezc functions from templates/item.cpp moved to Item and ItemContent 2021-06-18 19:18:13 +02:00
sessioncontainer.cpp start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
sessioncontainer.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
sessionidmanager.cpp updated to the new pikotools api: snake_case names of methods from SpaceParser 2021-05-21 04:51:58 +02:00
sessionidmanager.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
sessionmanager.cpp - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
sessionmanager.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
sessionparser.cpp - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
sessionparser.h start working on 0.7.x branch 2018-11-21 11:03:53 +00:00
slog.cpp updated to the new pikotools api: changed utf8 functions PascalCase to snake_case 2021-05-21 00:41:27 +02:00
slog.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
synchro.cpp moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
synchro.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
system.cpp changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
system.h changed the way how the request's answer is created, 2021-10-13 01:27:14 +02:00
textstream.h - added to FunctionBase: bool register_default_models (default true) 2021-06-20 18:04:50 +02:00
threadmanager.cpp updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
threadmanager.h ItemContent::user_name(EzcEnv & env) changed to ItemContent::user(morm::ModelWrapper ** model_wrapper) and we return a User class 2021-06-19 23:48:12 +02:00
timezone.cpp - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
timezone.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
timezones.cpp - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
timezones.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
ugcontainer.h - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
users.cpp - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
users.h - updated to the new pikotools api (child spaces were removed) 2021-06-27 23:31:50 +02:00
version.h version changed to 0.7.3 2021-05-27 12:21:59 +02:00
winix_const.h moved winix directories to winixd subdirectory 2016-03-17 08:24:59 +00:00
winixbase.cpp updated to the new pikotools api (changes in Log) 2021-06-24 21:17:03 +02:00
winixbase.h namespace PT renamed to pt 2021-05-20 20:59:12 +02:00
winixmodeldeprecated.cpp renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
winixmodeldeprecated.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
winixrequest.cpp renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
winixrequest.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
winixsystem.cpp renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00
winixsystem.h renamed: WinixModel -> WinixModelDeprecated (this class will be removed) 2021-06-16 18:07:44 +02:00