FirewallController

 view release on metacpan or  search on metacpan

lib/Ff.pm  view on Meta::CPAN

# initFirewall 初始化防火墙,数据入库操作
#------------------------------------------------------------------------------
sub initFirewall {
  my $self = shift;

  # 构造 result 数据结构
  my $result = {
    status  => 'ok',
    type    => '',
    content => ''
  };

  # 实例化 Pg
  my $dbi = Firewall::DBI::Pg->new( $self->app->config->{db}{main} );

  # 尝试联机初始化防火墙
  try {

    # 检查 http 请求是否携带 jsonStr
    my $json  = $self->param('jsonStr');
    my $param = decode_json $json;

    if ( not defined $json ) {
      $result = {
        status  => 'error',
        type    => 'text',
        content => "缺少输入参数 "
      };
    }

    # 进行防火墙初始化
    else {
      my $initFW     = Firewall::Config::Initialize->new( dbi => $dbi );
      my $initResult = $initFW->initFirewall($param);

      # 写入数据结构
      $result = {
        status  => 'ok',
        type    => 'json',
        content => $initResult
      };
    }
  } ## end try

  # 捕捉异常信息
  catch {
    $result = {
      status  => 'error',
      type    => 'text',
      content => $_
    };
  };

  # 返回计算结果
  $self->render( json => $result );
} ## end sub initFirewall

#------------------------------------------------------------------------------
# updateNetwork 更新网络信息
#------------------------------------------------------------------------------
sub updateNetwork {
  my $self = shift;

  # 构造 result 数据结构
  my $result = {
    status  => 'ok',
    type    => '',
    content => ''
  };

  # 实例化 Pg
  my $dbi = Firewall::DBI::Pg->new( $self->app->config->{db}{main} );

  # 尝试联机更新防火墙
  try {

    # 检查 http 请求是否携带 fwId
    my $fwId = $self->param('fwId');

    if ( not defined $fwId ) {
      $result = {
        status  => 'error',
        type    => 'text',
        content => "缺少输入参数 "
      };
    }

    # 更新防火墙
    else {
      my $initFW     = Firewall::Config::Initialize->new( dbi => $dbi );
      my $initResult = $initFW->updateNetwork($fwId);

      # 填充数据结构
      $result = {
        status  => 'ok',
        type    => 'json',
        content => $initResult
      };
    }
  } ## end try

  # 捕捉异常信息
  catch {
    $result = {
      status  => 'error',
      type    => 'text',
      content => $_
    };
  };

  # 返回计算结果
  $self->render( json => $result );
} ## end sub updateNetwork

1;



( run in 1.236 second using v1.01-cache-2.11-cpan-e1769b4cff6 )