=begin comment

Swagger Petstore */ ' \" 

This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\  */ ' \" 

OpenAPI spec version: 1.0.0 */ &#39; \&quot; 
Contact: apiteam@swagger.io */ ' \" 
Generated by: https://github.com/swagger-api/swagger-codegen.git

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

=end comment

=cut

#
# NOTE: This class is auto generated by the swagger code generator program. 
# Do not edit the class manually.
# Ref: https://github.com/swagger-api/swagger-codegen
#
package Something::Deep::FakeApi;

require 5.6.0;
use strict;
use warnings;
use utf8; 
use Exporter;
use Carp qw( croak );
use Log::Any qw($log);

use Something::Deep::ApiClient;
use Something::Deep::Configuration;

use base "Class::Data::Inheritable";

__PACKAGE__->mk_classdata('method_documentation' => {});

sub new {
    my $class   = shift;
    my (%self) = (
        'api_client' => Something::Deep::ApiClient->instance,
        @_
    );

    #my $self = {
    #    #api_client => $options->{api_client}
    #    api_client => $default_api_client
    #}; 

    bless \%self, $class;

}


#
# test_code_inject____end
#
# To test code injection */ ' \" 
# 
# @param string $test code inject */ &#39; &quot; &#x3D;end To test code injection */ &#39; \&quot;  (optional)
{
    my $params = {
    'test code inject */ &#39; &quot; &#x3D;end' => {
        data_type => 'string',
        description => 'To test code injection */ &#39; \&quot; ',
        required => '0',
    },
    };
    __PACKAGE__->method_documentation->{ 'test_code_inject____end' } = { 
    	summary => 'To test code injection */ &#39; \&quot; ',
        params => $params,
        returns => undef,
        };
}
# @return void
#
sub test_code_inject____end {
    my ($self, %args) = @_;

    # parse inputs
    my $_resource_path = '/fake';
    $_resource_path =~ s/{format}/json/; # default format to json

    my $_method = 'PUT';
    my $query_params = {};
    my $header_params = {};
    my $form_params = {};

    # 'Accept' and 'Content-Type' header
    my $_header_accept = $self->{api_client}->select_header_accept('application/json', '*/  " =end');
    if ($_header_accept) {
        $header_params->{'Accept'} = $_header_accept;
    }
    $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', '*/  " =end');

    # form params
    if ( exists $args{'test code inject */ &#39; &quot; &#x3D;end'} ) {
                $form_params->{'test code inject */ &#39; &quot; &#x3D;end'} = $self->{api_client}->to_form_value($args{'test code inject */ &#39; &quot; &#x3D;end'});
    }
    
    my $_body_data;
    # authentication setting, if any
    my $auth_settings = [qw()];

    # make the API Call
    $self->{api_client}->call_api($_resource_path, $_method,
                                           $query_params, $form_params,
                                           $header_params, $_body_data, $auth_settings);
    return;
}

1;
