Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 4 additions & 3 deletions .fern/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
"generatorName": "fernapi/fern-php-sdk",
"generatorVersion": "2.18.1",
"generatorConfig": {
"namespace": "Cloudpdf",
"packageName": "cloudpdf/cloudpdf",
"namespace": "CloudPDF",
"clientName": "CloudPDFClient",
"packageName": "cloudpdf/sdk",
"composerJson": {
"license": "Apache-2.0",
"homepage": "https://www.cloudpdf.com"
}
},
"originGitCommit": "232d5e0240d5673a73c9ea7c7ae9e7b937fdd5b3",
"originGitCommit": "a0adb9e77ef16feaef2358d71b247b4f5a98fd23",
"originGitCommitIsDirty": false,
"invokedBy": "ci",
"requestedVersion": "3.0.0-alpha.1",
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/sdk-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,10 @@ jobs:
tools: composer
- run: find src -type f -name '*.php' -print0 | xargs -0 -P 4 -n1 php -l >/dev/null
- run: composer validate --no-check-publish --no-interaction
- name: Verify packaged autoloading
run: |
php_package_test="$(mktemp -d)"
tar --exclude=.git --exclude=vendor -cf - . | tar -xf - -C "$php_package_test"
cd "$php_package_test"
composer dump-autoload --no-dev --no-interaction --optimize --strict-psr --quiet
php -r "require 'vendor/autoload.php'; \$base = new CloudPDF\Exceptions\CloudPDFException('test'); \$api = new CloudPDF\Exceptions\CloudPDFApiException('test', 500, null); if (!(\$base instanceof Exception) || !(\$api instanceof CloudPDF\Exceptions\CloudPDFException)) { throw new RuntimeException('CloudPDF exception autoload verification failed'); }"
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Cloudpdf PHP Library
# CloudPDF PHP SDK

[![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-Built%20with%20Fern-brightgreen)](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=Cloudpdf%2FPHP)
[![php shield](https://img.shields.io/badge/php-packagist-pink)](https://packagist.org/packages/cloudpdf/cloudpdf)
[![php shield](https://img.shields.io/badge/php-packagist-pink)](https://packagist.org/packages/cloudpdf/sdk)

The Cloudpdf PHP library provides convenient access to the Cloudpdf APIs from PHP.
The official PHP SDK for the CloudPDF API.

## Table of Contents

Expand All @@ -24,7 +24,7 @@ This SDK requires PHP ^8.1.
## Installation

```sh
composer require cloudpdf/cloudpdf
composer require cloudpdf/sdk
```

## Usage
Expand All @@ -36,10 +36,10 @@ Instantiate and use the client with the following:

namespace Example;

use Cloudpdf\CloudpdfClient;
use Cloudpdf\Tenants\Requests\TenantsCreateRequest;
use CloudPDF\CloudPDFClient;
use CloudPDF\Tenants\Requests\TenantsCreateRequest;

$client = new CloudpdfClient(
$client = new CloudPDFClient(
token: '<token>',
);
$client->tenants->create(
Expand All @@ -55,12 +55,12 @@ $client->tenants->create(
When the API returns a non-success status code (4xx or 5xx response), an exception will be thrown.

```php
use Cloudpdf\Exceptions\CloudpdfApiException;
use Cloudpdf\Exceptions\CloudpdfException;
use CloudPDF\Exceptions\CloudPDFApiException;
use CloudPDF\Exceptions\CloudPDFException;

try {
$response = $client->tenants->create(...);
} catch (CloudpdfApiException $e) {
} catch (CloudPDFApiException $e) {
echo 'API Exception occurred: ' . $e->getMessage() . "\n";
echo 'Status Code: ' . $e->getCode() . "\n";
echo 'Response Body: ' . $e->getBody() . "\n";
Expand All @@ -77,23 +77,23 @@ By default, if no client is provided, the SDK will use `php-http/discovery` to f
However, you can pass your own client that adheres to `ClientInterface`:

```php
use Cloudpdf\CloudpdfClient;
use CloudPDF\CloudPDFClient;

// Pass any PSR-18 compatible HTTP client implementation.
// For example, using Guzzle:
$customClient = new \GuzzleHttp\Client([
'timeout' => 5.0,
]);

$client = new CloudpdfClient(options: [
$client = new CloudPDFClient(options: [
'client' => $customClient
]);

// Or using Symfony HttpClient:
// $customClient = (new \Symfony\Component\HttpClient\Psr18Client())
// ->withOptions(['timeout' => 5.0]);
//
// $client = new CloudpdfClient(options: [
// $client = new CloudPDFClient(options: [
// 'client' => $customClient
// ]);
```
Expand Down
2 changes: 1 addition & 1 deletion cloudpdf-generation.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"repository": "embedpdf/embed-pdf-viewer",
"openapi": "cloudpdf/contract/openapi.json",
"openapiSha256": "6858ce7912e9063d8fb171ade95fc473db01c5971a3af241a612dda79cc05100",
"gitCommit": "232d5e0240d5673a73c9ea7c7ae9e7b937fdd5b3",
"gitCommit": "a0adb9e77ef16feaef2358d71b247b4f5a98fd23",
"gitCommitIsDirty": false
},
"fern": {
Expand Down
8 changes: 4 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "cloudpdf/cloudpdf",
"name": "cloudpdf/sdk",
"version": "3.0.0-alpha.1",
"description": "Cloudpdf PHP Library",
"description": "CloudPDF PHP Library",
"keywords": [
"cloudpdf",
"api",
Expand All @@ -27,12 +27,12 @@
},
"autoload": {
"psr-4": {
"Cloudpdf\\": "src/"
"CloudPDF\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Cloudpdf\\Tests\\": "tests/"
"CloudPDF\\Tests\\": "tests/"
}
},
"scripts": {
Expand Down
20 changes: 10 additions & 10 deletions src/CloudpdfClient.php → src/CloudPDFClient.php
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<?php

namespace Cloudpdf;
namespace CloudPDF;

use Cloudpdf\Deployment\DeploymentClient;
use Cloudpdf\Doc\DocClient;
use Cloudpdf\Tenants\TenantsClient;
use Cloudpdf\Documents\DocumentsClient;
use Cloudpdf\Tokens\TokensClient;
use CloudPDF\Deployment\DeploymentClient;
use CloudPDF\Doc\DocClient;
use CloudPDF\Tenants\TenantsClient;
use CloudPDF\Documents\DocumentsClient;
use CloudPDF\Tokens\TokensClient;
use Psr\Http\Client\ClientInterface;
use Cloudpdf\Core\Client\RawClient;
use CloudPDF\Core\Client\RawClient;

class CloudpdfClient
class CloudPDFClient
{
/**
* @var DeploymentClient $deployment
Expand Down Expand Up @@ -70,9 +70,9 @@ public function __construct(
$defaultHeaders = [
'Authorization' => "Bearer $token",
'X-Fern-Language' => 'PHP',
'X-Fern-SDK-Name' => 'Cloudpdf',
'X-Fern-SDK-Name' => 'CloudPDF',
'X-Fern-SDK-Version' => '3.0.0-alpha.1',
'User-Agent' => 'cloudpdf/cloudpdf/3.0.0-alpha.1',
'User-Agent' => 'cloudpdf/sdk/3.0.0-alpha.1',
];

$this->options = $options ?? [];
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Client/BaseApiRequest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Client;
namespace CloudPDF\Core\Client;

abstract class BaseApiRequest
{
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Client/HttpClientBuilder.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Client;
namespace CloudPDF\Core\Client;

use Http\Discovery\Psr17FactoryDiscovery;
use Http\Discovery\Psr18ClientDiscovery;
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Client/HttpMethod.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Client;
namespace CloudPDF\Core\Client;

enum HttpMethod
{
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Client/MockHttpClient.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Client;
namespace CloudPDF\Core\Client;

use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestInterface;
Expand Down
8 changes: 4 additions & 4 deletions src/Core/Client/RawClient.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Client;
namespace CloudPDF\Core\Client;

use JsonSerializable;
use InvalidArgumentException;
Expand All @@ -12,9 +12,9 @@
use Http\Message\MultipartStream\MultipartStreamBuilder;
use Psr\Http\Message\StreamFactoryInterface;
use Psr\Http\Message\StreamInterface;
use Cloudpdf\Core\Json\JsonApiRequest;
use Cloudpdf\Core\Json\JsonEncoder;
use Cloudpdf\Core\Multipart\MultipartApiRequest;
use CloudPDF\Core\Json\JsonApiRequest;
use CloudPDF\Core\Json\JsonEncoder;
use CloudPDF\Core\Multipart\MultipartApiRequest;

class RawClient
{
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Client/RetryDecoratingClient.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Client;
namespace CloudPDF\Core\Client;

use Psr\Http\Client\ClientExceptionInterface;
use Psr\Http\Client\ClientInterface;
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Client/UrlEncodedApiRequest.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Client;
namespace CloudPDF\Core\Client;

class UrlEncodedApiRequest extends BaseApiRequest
{
Expand Down
6 changes: 3 additions & 3 deletions src/Core/Json/JsonApiRequest.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use Cloudpdf\Core\Client\BaseApiRequest;
use Cloudpdf\Core\Client\HttpMethod;
use CloudPDF\Core\Client\BaseApiRequest;
use CloudPDF\Core\Client\HttpMethod;

class JsonApiRequest extends BaseApiRequest
{
Expand Down
4 changes: 2 additions & 2 deletions src/Core/Json/JsonDecoder.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use DateTime;
use Exception;
use JsonException;
use Cloudpdf\Core\Types\Union;
use CloudPDF\Core\Types\Union;

class JsonDecoder
{
Expand Down
6 changes: 3 additions & 3 deletions src/Core/Json/JsonDeserializer.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use DateTime;
use Exception;
use JsonException;
use Cloudpdf\Core\Types\Constant;
use Cloudpdf\Core\Types\Union;
use CloudPDF\Core\Types\Constant;
use CloudPDF\Core\Types\Union;

class JsonDeserializer
{
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Json/JsonEncoder.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use JsonException;

Expand Down
2 changes: 1 addition & 1 deletion src/Core/Json/JsonProperty.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use Attribute;

Expand Down
8 changes: 4 additions & 4 deletions src/Core/Json/JsonSerializableType.php
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use DateTime;
use Exception;
use JsonException;
use ReflectionNamedType;
use ReflectionProperty;
use Cloudpdf\Core\Types\ArrayType;
use Cloudpdf\Core\Types\Date;
use Cloudpdf\Core\Types\Union;
use CloudPDF\Core\Types\ArrayType;
use CloudPDF\Core\Types\Date;
use CloudPDF\Core\Types\Union;

/**
* Provides generic serialization and deserialization methods.
Expand Down
6 changes: 3 additions & 3 deletions src/Core/Json/JsonSerializer.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use DateTime;
use Exception;
use JsonException;
use JsonSerializable;
use Cloudpdf\Core\Types\Constant;
use Cloudpdf\Core\Types\Union;
use CloudPDF\Core\Types\Constant;
use CloudPDF\Core\Types\Union;

class JsonSerializer
{
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Json/Utils.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Json;
namespace CloudPDF\Core\Json;

use DateTime;
use Exception;
Expand Down
6 changes: 3 additions & 3 deletions src/Core/Multipart/MultipartApiRequest.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php

namespace Cloudpdf\Core\Multipart;
namespace CloudPDF\Core\Multipart;

use Cloudpdf\Core\Client\BaseApiRequest;
use Cloudpdf\Core\Client\HttpMethod;
use CloudPDF\Core\Client\BaseApiRequest;
use CloudPDF\Core\Client\HttpMethod;

class MultipartApiRequest extends BaseApiRequest
{
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Multipart/MultipartFormData.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Multipart;
namespace CloudPDF\Core\Multipart;

use Http\Message\MultipartStream\MultipartStreamBuilder;
use Psr\Http\Message\StreamInterface;
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Multipart/MultipartFormDataPart.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Multipart;
namespace CloudPDF\Core\Multipart;

use Http\Message\MultipartStream\MultipartStreamBuilder;
use Psr\Http\Message\StreamInterface;
Expand Down
2 changes: 1 addition & 1 deletion src/Core/Types/ArrayType.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Types;
namespace CloudPDF\Core\Types;

use Attribute;

Expand Down
2 changes: 1 addition & 1 deletion src/Core/Types/Constant.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Cloudpdf\Core\Types;
namespace CloudPDF\Core\Types;

use DateTimeInterface;

Expand Down
Loading
Loading