microsoft/kiota-serialization-multipart
PHP multipart body serialization library for Microsoft Kiota-generated clients. Provides multipart payload handling so SDKs can send/receive multipart requests and responses. Install via Composer: microsoft/kiota-serialization-multipart.
HttpClient, Guzzle) can leverage this for multipart/form-data requests, but requires manual binding to Kiota’s request pipeline. Not a drop-in replacement for Laravel’s native multipart handling (e.g., MultipartFile).File or UploadedFile instead).microsoft/kiota-http + generated clients).MultipartSerializer and MultipartDeserializer classes for encoding/decoding payloads.RequestInformation and HttpClient interfaces.HttpClient and Laravel’s service container (e.g., binding Kiota’s RequestAdapter).RequestInformation in Laravel’s testing stack.MultipartFile for critical paths.HttpClient + MultipartFile)?Route::post with MultipartFile).Illuminate\Http\UploadedFile + Guzzle/Symfony HttpClient: Lower coupling, but lacks Kiota’s abstractions.league/mime-type, symfony/mime): More control, but no Kiota integration.composer require microsoft/kiota-serialization-multipart microsoft/kiota-http
HttpClient to the container (e.g., in AppServiceProvider):
$this->app->bind(\Kiota\Http\HttpClient::class, function ($app) {
return new \Kiota\Http\GuzzleHttpClient(); // or custom adapter
});
RequestAdapter:
$requestInfo = new \Kiota\Abstractions\RequestInformation();
$requestInfo.setSerializationFormat(\Kiota\Abstractions\SerializationFormat::Multipart);
$client = new \Generated\Client();
$response = $client->request($requestInfo);
$middleware = new class implements \Kiota\Http\Middleware {
public function beforeSendRequest(RequestInformation $requestInfo) {
$requestInfo.addHeader("X-CSRF-TOKEN", csrf_token());
}
};
$client->addMiddleware($middleware);
microsoft/kiota-serialization-multipart’s supported versions (check composer.json).GuzzleHttpClient may conflict with Laravel’s HttpClient bindings.TrustProxies) won’t auto-apply to Kiota requests.HttpClient to Laravel’s container.RequestInformation.StreamingRequestInformation).MultipartFile for high-volume APIs.HttpClient is stateless, so scaling is similar to Laravel’s HttpClient.How can I help you explore Laravel packages today?