Once again, your explanations are clear! Thanks again!
We realize that CheckBase is indeed used and there were some implicit functions defined in the Gatling's Predef that were converting an ExtractorCheckBuilder into a CheckBuilder and a Check...
So, basically, what we did is:
1/ defining a our own Check (MsgCheck that extends Check[Msg] and acts as a wrapper like it is done for HttpCheck)
2/ defining a MsgCheckBuilder that extends ExtractorCheckBuilder[MsgCheck, Msg, P, T, X]
3/ defining a check factory (similar to the httpFactory)
4/ defining an extractor for our DSL function
5/ defining an expected result / criteria for our DSL function
6/ defining our DSL function to create a new instance of our MsgCheckBuilder
And it works! :)
Thanks for pointing out the
HttpBodyRegexCheckBuilder.scala: it gives a good overview of what needs to be done. Explaining the role of the preparer, extractor, etc. also helped to grasp what and how to implement it.
Many thanks again!