Package google.api

इंडेक्स

HttpBody

यह मैसेज एक आर्बिट्ररी एचटीटीपी काेड दिखाता है. इसका इस्तेमाल सिर्फ़ पेलोड फ़ॉर्मैट के लिए किया जाना चाहिए, जिसे मूल बाइनरी या एचटीएमएल पेज जैसे जेएसओएन के रूप में नहीं दिखाया जा सकता.

इस मैसेज का इस्तेमाल अनुरोध और जवाब में एपीआई के स्ट्रीमिंग और बिना स्ट्रीमिंग वाले दाेनाें तरीकों में किया जा सकता है.

इसका इस्तेमाल टॉप-लेवल के अनुरोध फ़ील्ड के रूप में किया जा सकता है. अगर कोई व्यक्ति यूआरएल या एचटीटीपी टेम्प्लेट से पैरामीटर को अनुरोध फ़ील्ड में लाना और मूल एचटीटीपी के मुख्य भाग का इस्तेमाल करना चाहता है, ताे इसके लिए भी यह अच्छा विकल्प है.

उदाहरण:

message GetResourceRequest {
  // A unique request id.
  string request_id = 1;

  // The raw HTTP body is bound to this field.
  google.api.HttpBody http_body = 2;

}

service ResourceService {
  rpc GetResource(GetResourceRequest)
    returns (google.api.HttpBody);
  rpc UpdateResource(google.api.HttpBody)
    returns (google.protobuf.Empty);

}

स्ट्रीमिंग के तरीकाें के साथ उदाहरण:

service CaldavService {
  rpc GetCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);
  rpc UpdateCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);

}

स्ट्रीमिंग के इस प्रकार का इस्तेमाल सिर्फ़ तब बदलता है जब अनुरोध और जवाब के मुख्य में बदलाव हाेता है. बाकी सभी सुविधाएं वैसे ही काम करती हैं.

फ़ील्ड
content_type

string

एचटीटीपी कॉन्टेंट टाइप हेडर वैल्यू, जो मुख्य भाग के कॉन्टेंट टाइप के बारे में बताती है.

data

bytes

रॉ बाइनरी के तौर पर एचटीटीपी अनुरोध/जवाब का मुख्य हिस्सा.

extensions[]

Any

ऐप्लिकेशन के जवाब का खास मेटाडेटा. स्ट्रीमिंग एपीआई के लिए पहले जवाब में सेट किया जाना चाहिए.