blob: 19eb90a333c491de2c39ceff6fb462410e1efc15 [file] [log] [blame]
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +01001<?php
2
3namespace PhpMimeMailParser;
4
5/**
6 * Wraps a callable as a Middleware
7 */
8class Middleware implements Contracts\Middleware
9{
10 protected $parser;
11
12 /**
13 * Create a middleware using a callable $fn
14 *
15 * @param callable $fn
16 */
17 public function __construct(callable $fn)
18 {
19 $this->parser = $fn;
20 }
21
22 /**
23 * Process a mime part, optionally delegating parsing to the $next MiddlewareStack
24 */
25 public function parse(MimePart $part, MiddlewareStack $next)
26 {
27 return call_user_func($this->parser, $part, $next);
28 }
29}