Log message #4268023

# At Username Text
# Jul 20th 2021, 20:41 kevin.pfeifer well maybe you can check something from the 3.X version of the CsrfProtectionMiddleware https://github.com/cakephp/cakephp/blob/3.x/src/Http/Middleware/CsrfProtectionMiddleware.php
# Jul 20th 2021, 20:41 jadelbe418 I am going based off on these instructions: https://book.cakephp.org/3/en/controllers/middleware.html
# Jul 20th 2021, 20:41 jadelbe418 Yup
# Jul 20th 2021, 20:41 kevin.pfeifer thats why you used the __invoke method
# Jul 20th 2021, 20:40 jadelbe418 The middlware interface seems to be used on the 4.x docs and not 3.x
# Jul 20th 2021, 20:40 kevin.pfeifer ah ok, cakephp 3 didn’t have that interface yet
# Jul 20th 2021, 20:40 kevin.pfeifer oh ok
# Jul 20th 2021, 20:39 jadelbe418 @kevin.pfeifer I am sorry, I should have mentioned the version number of cake I am working with. The application I am on is on 3
# Jul 20th 2021, 20:37 jadelbe418 I will play with that and see how it works.
# Jul 20th 2021, 20:37 jadelbe418 Great, thanks!
# Jul 20th 2021, 20:36 kevin.pfeifer see e.g. https://github.com/cakephp/cakephp/blob/master/src/Http/Middleware/CsrfProtectionMiddleware.php each middleware should at least implement the `MiddlewareInterface` and therefore the `process($request, $handler)` funciton
# Jul 20th 2021, 20:35 jadelbe418 I assume that I am not putting it in the middle ware que in the right spot.
# Jul 20th 2021, 20:34 slackebot2 route caching // pass null as cacheConfig, example: `new RoutingMiddleware($this)` // you might want to disable this cache in case your routing is extremely simple ->add(new RoutingMiddleware($this, '_cake_routes_')); return $middlewareQueue; } }```
# Jul 20th 2021, 20:34 slackebot2 // and make an error page/response ->add(ErrorHandlerMiddleware::class) // Handle plugin/theme assets like CakePHP normally does. ->add(new AssetMiddleware([ 'cacheTime' => Configure::read('Asset.cacheTime') ])) ->add(new CustomFieldsMiddleware()) // Add routing middleware. // Routes collection cache enabled by default, to disable
# Jul 20th 2021, 20:34 jadelbe418 ```class Application extends BaseApplication { /** * Setup the middleware queue your application will use. * * @param MiddlewareQueue $middlewareQueue The middleware queue to setup. * @return MiddlewareQueue The updated middleware queue. */ public function middleware($middlewareQueue): MiddlewareQueue { $middlewareQueue // Catch any exceptions in the lower layers,
# Jul 20th 2021, 20:33 slackebot2 ResponseInterface A response */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next): ResponseInterface { print_r($response); return $next($request, $response); } }```
# Jul 20th 2021, 20:33 jadelbe418 ```<?php namespace App\Middleware; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; /** * CustomFields middleware */ class CustomFieldsMiddleware { /** * Invoke method. * * @param ServerRequestInterface $request The request. * @param ResponseInterface $response The response. * @param callable $next Callback to invoke the next middleware. * @return
# Jul 20th 2021, 20:33 jadelbe418 @kevin.pfeifer Cool, thanks! So I was looking at Middleware. It seems that I do am not able to get a body in the response when I attach it to the base application like this:
# Jul 20th 2021, 19:58 kevin.pfeifer You can do both “pre-processing” (a request) and “post-processing” (a response) with a middleware See https://book.cakephp.org/4/en/intro.html#cakephp-request-cycle
# Jul 20th 2021, 19:28 slackebot2 custom fields in the api. I am still getting familiar with the cake event system and middleware. would pre-processing a request body be something I use middleware for? A before render event on the output side?
# Jul 20th 2021, 19:28 jadelbe418 I am working on a custom fields integration for a CakePHP Rest/ Crud based API. It has a slightly sophisticated MySQL schema architecture to allow users to create their own fields on certain tables in the system. I need to be able to filter posted json data and reformat it for the cake orm on a request so it properly fits into the cake schema and reformat it on the way out so the custom fields display consistently with non
# Jul 20th 2021, 15:53 kevin.pfeifer so you don't change your datasoure in your tests via the $connection variable? https://book.cakephp.org/3/en/development/testing.html#creating-fixtures
# Jul 20th 2021, 15:30 martin when I add `test_pipedrive` to the WebServices array and set Classname and Service it works fine. but I have multiple webservices. No problems with them, only with the newest one
# Jul 20th 2021, 15:29 kevin.pfeifer well to answer your question
# Jul 20th 2021, 15:29 kevin.pfeifer you are right :thinking_face:
# Jul 20th 2021, 15:28 martin not sure, default version by cakephp 3.9 I think?
# Jul 20th 2021, 15:27 kevin.pfeifer is it just me or is phpunit 6.5 pretty old? ,:)
# Jul 20th 2021, 15:24 martin would be nice if --debug did give me some debug information
# Jul 20th 2021, 15:17 martin ```vendor/bin/phpunit --debug PHPUnit 6.5.14 by Sebastian Bergmann and contributors. Exception: The datasource configuration "test_pipedrive" was not found. in [/var/www/vendor/cakephp/cakephp/src/Datasource/ConnectionManager.php, line 195]``` How can I fix this issue? pipedrive is a webservice not a database. so can’t really add a test_pipedrive resource? Also have no tests that require that
# Jul 20th 2021, 13:05 sebastiansperandio093 thanks kevin!
# Jul 20th 2021, 12:22 paolo.bragagni yes thank you!!
# Jul 20th 2021, 12:14 ndm Good... for reference, here's an overview of the field formats for the different association types: https://book.cakephp.org/4/en/views/helpers/form.html#associated-form-inputs
# Jul 20th 2021, 12:11 paolo.bragagni :)
# Jul 20th 2021, 12:11 paolo.bragagni it works
# Jul 20th 2021, 12:11 ndm You just need to change the field name.
# Jul 20th 2021, 12:10 paolo.bragagni hum
# Jul 20th 2021, 12:10 ndm what... no! That array format was just to illustrate what the data will look like in the request.
# Jul 20th 2021, 12:08 paolo.bragagni so in this way? $this->Form->hidden('books',['value' => ['categories' => [['id' => 'value']]]])
# Jul 20th 2021, 12:05 paolo.bragagni I check it all
# Jul 20th 2021, 12:04 paolo.bragagni yes
# Jul 20th 2021, 12:04 slackebot2 more categories.