| @@ -108,17 +108,31 @@ | ||
| 108 | 108 | public function hashRequest( RequestInterface $request ) { |
| 109 | 109 | $requestArgs = $request->getQueryParams(); |
| 110 | 110 | |
| 111 | 111 | $requestArgs['url'] = $request->getRequestTarget(); |
| 112 | - $requestArgs['url'] = remove_query_arg( 'flush', $requestArgs['url'] ); | |
| 113 | - $requestArgs['url'] = remove_query_arg( 'clearCache', $requestArgs['url'] ); | |
| 112 | + $requestArgs['url'] = remove_query_arg( ['flush', 'clearCache'], $requestArgs['url'] ); | |
| 114 | 113 | |
| 115 | 114 | // exclude flush params from hash request key |
| 116 | 115 | unset( $requestArgs['flush'] ); |
| 117 | 116 | unset( $requestArgs['clearCache'] ); |
| 118 | 117 | |
| 118 | + $requestArgs = $this->beforeHashRequest( $requestArgs, $request ); | |
| 119 | + | |
| 119 | 120 | return Sanitize::textfield( md5( serialize( $requestArgs ) ) ); |
| 120 | 121 | } |
| 122 | + | |
| 123 | + /** | |
| 124 | + * Prepares request args for hashing | |
| 125 | + * Override this method to change requestArgs before hash | |
| 126 | + * | |
| 127 | + * @param array $requestArgs | |
| 128 | + * @param RequestInterface $request | |
| 129 | + * | |
| 130 | + * @return array | |
| 131 | + */ | |
| 132 | + protected function beforeHashRequest( array $requestArgs, RequestInterface $request ){ | |
| 133 | + return $requestArgs; | |
| 134 | + } | |
| 121 | 135 | |
| 122 | 136 | public function has( $key ): bool { |
| 123 | 137 | return $this->get( $key, false ) !== false; |
| 124 | 138 | } |