streamWrapperManager = $stream_wrapper_manager; } /** * {@inheritdoc} */ public function processInbound($path, Request $request) { $directory_path = $this->streamWrapperManager->getViaScheme('public')->getDirectoryPath(); if (strpos($path, '/' . $directory_path . '/styles/') === 0) { $path_prefix = '/' . $directory_path . '/styles/'; } elseif (strpos($path, '/system/files/styles/') === 0) { $path_prefix = '/system/files/styles/'; } else { return $path; } // Strip out path prefix. $rest = preg_replace('|^' . preg_quote($path_prefix, '|') . '|', '', $path); // Get the image style, scheme and path. if (substr_count($rest, '/') >= 2) { list($image_style, $scheme, $file) = explode('/', $rest, 3); // Set the file as query parameter. $request->query->set('file', $file); return $path_prefix . $image_style . '/' . $scheme; } else { return $path; } } }