]> git.nbdom.net Git - nb.git/commitdiff
bug in out format sh, ovh errors
authorDevops <sys@15gifts.com>
Thu, 25 May 2017 23:03:01 +0000 (00:03 +0100)
committerDevops <sys@15gifts.com>
Thu, 25 May 2017 23:03:01 +0000 (00:03 +0100)
bin/ovh-api
lib/php/out.php
www/dbq/dbq.php

index aa1779701c1a47a1273f329c5746a9384c3a35f0..95556afa6c7919746df9e0ae2b14ddc309f1dd72 100755 (executable)
@@ -103,8 +103,15 @@ sub _query {
        my ($url,$method,$body) = @_;
   exists $ALIASES{$url} and $url = $ALIASES{$url};
 
-       my $response = $Api->rawCall(path=>$url,method=>($method||'GET'),body=>$body);
-       die "$NAME: ERR: ".$response->error() if $response->isFailure();
+  my $response;
+  eval {
+         $response = $Api->rawCall(path=>$url,method=>($method||'GET'),body=>$body);
+  };
+  die "$NAME: Connection failed $! $@" unless $response;
+       if ($response->isFailure()) {
+         die "$NAME: ERR: Connection failed" if $response->error() =~ /Internal Server Error/;
+         die "$NAME: ERR: ".$response->error();
+  }
 
        my $content = $response->content;
        return unless defined $content;
@@ -119,7 +126,12 @@ sub _query {
     next unless defined $id;
 
     $id =~ s,/.*$,,;
-    $response = $Api->rawCall(path=>$url.'/'.$id,method=>($method||'GET'),body=>{});
+    eval {
+      $response = $Api->rawCall(path=>$url.'/'.$id,method=>($method||'GET'),body=>{});
+    };
+
+    die "$NAME: Query failed $! $@" unless $response;
+         die "$NAME: ERR: Connection failed" if $response->error() =~ /Internal Server Error/;
     die "$NAME: ERR: ".$response->error() if $response->isFailure();
 
 
index 0f3ce0657027b6ca17c90d34858d121ad09292e3..19e5d87b8becabc1f19fa0aab5de667d1223d80b 100644 (file)
@@ -88,6 +88,8 @@ Class Out extends Nb {
             $v = str_replace('"','\\"',$v);
             $v = str_replace('$','\\$',$v);
             $v = str_replace('`','\\`',$v);
+            $v = str_replace("\r",'',$v);
+            $v = str_replace("\n",'"$\'\\\\n\'"',$v);
             $line[] = $o['preff']."$k=\"$v\"";
           }
           if ($line) echo join(' ',$line).";\n";
index 74b9f581e34b02cc9f87969f9e2d168a6bf7ce3b..2ae1166d1c61b556bfa82a2462c7c1bd76baf09e 100644 (file)
@@ -13,7 +13,7 @@ class DbQ extends nb {
   const WRITE = 3;
   const VIEW = 1;
   public $perm = self::ADMIN;
-  public $perms = [
+  public $perms = [ # keys in lowercase !!!!
     'admin' => self::ADMIN,
     'delete' => self::DELETE,
     'write' => self::WRITE,
@@ -101,9 +101,7 @@ class DbQ extends nb {
 
     // Format perm into int value
     $perm = strtolower($this->perm);
-    if (isset($this->perms[$perm])) {
-      $this->perm = $this->perms[$perm];
-    }
+    if (isset($this->perms[$perm])) $this->perm = $this->perms[$perm];
     if (!preg_match('/^[0-9]+$/',$perm)) $perm = 0;
 
     parent::__construct($opt);