Completed
Push — master ( be8c82...d7ae84 )
by Roberto
04:38 queued 02:37
created

SoapFake   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 1
dl 0
loc 39
ccs 0
cts 29
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A send() 0 23 1
1
<?php
2
3
namespace NFePHP\eSocial\Common\Soap;
4
5
/**
6
 * Soap fake class used for development only
7
 *
8
 * @category  library
9
 * @package   NFePHP\eSocial
10
 * @copyright NFePHP Copyright (c) 2017
11
 * @license   http://www.gnu.org/licenses/lgpl.txt LGPLv3+
12
 * @license   https://opensource.org/licenses/MIT MIT
13
 * @license   http://www.gnu.org/licenses/gpl.txt GPLv3+
14
 * @author    Roberto L. Machado <linux.rlm at gmail dot com>
15
 * @link      http://github.com/nfephp-org/sped-common for the canonical source repository
16
 */
17
18
use NFePHP\Common\Certificate;
19
use Psr\Log\LoggerInterface;
20
21
class SoapFake extends SoapBase implements SoapInterface
22
{
23
    /**
24
     * Constructor
25
     *
26
     * @param Certificate $certificate
27
     * @param LoggerInterface $logger
28
     */
29
    public function __construct(
30
        Certificate $certificate = null,
31
        LoggerInterface $logger = null
32
    ) {
33
        parent::__construct($certificate, $logger);
34
    }
35
    
36
    public function send(
37
        $operation,
38
        $url,
39
        $action,
40
        $envelope,
41
        $parameters
42
    ) {
43
        $requestHead = implode("\n", $parameters);
44
        $requestBody = $envelope;
45
        return json_encode(
46
            [
47
                'url'        => $url,
48
                'operation'  => $operation,
49
                'action'     => $action,
50
                'soapver'    => '1.1',
51
                'parameters' => $parameters,
52
                'header'     => $requestHead,
53
                'namespaces' => [],
54
                'body'       => $requestBody,
55
            ],
56
            JSON_PRETTY_PRINT
57
        );
58
    }
59
}