blob: 9b0d3f8dd8d7b6ea661850ea6764b9947e962603 [file] [log] [blame]
// Copyright 2012 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Author: mmohabey@google.com (Megha Mohabey)
syntax = "proto2";
import "pagespeed/kernel/http/http.proto";
option optimize_for = LITE_RUNTIME;
package net_instaweb;
enum FlushEarlyContentType {
OTHER = 1;
JAVASCRIPT = 2;
CSS = 3;
}
message FlushEarlyResource { // deprecated.
optional string rewritten_url = 1;
optional FlushEarlyContentType content_type = 2;
}
// FlushEarlyInfo stores various information for flushing a request early i.e.
// before receiving a response form the origin server.
// NextId: 13
message FlushEarlyInfo {
// ResponseHeaders proto from previous response which is used for subsequent
// response for the same html url.
optional HttpResponseHeaders response_headers = 1;
// The html of the page before the <head> element.
optional string pre_head = 2;
repeated string resources = 3; // deprecated.
// The resources in the head section for the page.
repeated FlushEarlyResource subresource = 4; // deprecated.
// Domains for which DNS prefetch tags will be inserted in <head>.
repeated string dns_prefetch_domains = 5;
// Total number of domains in the page for which DNS prefetch tags could be
// potentially inserted. This could be larger than the number of entries in
// dns_prefetch_domains.
optional int32 total_dns_prefetch_domains = 6;
// Total number of domains in the page, in the previous rewrite, for which DNS
// prefetch tags could be potentially inserted.
optional int32 total_dns_prefetch_domains_previous = 7;
// Meta Tag which specifies the content type of the page.
optional string content_type_meta_tag = 8; // deprecated.
// The HTML for all resource elements that we want to try to flush early.
optional string resource_html = 9;
// Stores the last n fetch latencies (time to first byte from the origin).
// Each entry is separated by a comma. Insertion happens at the front and
// entry will be deleted from the back.
optional string last_n_fetch_latencies = 10;
// Stores the average fetch latency in milliseconds.
optional double average_fetch_latency_ms = 11;
// Whether the server response has http_only_cookie.
optional bool http_only_cookie_present = 12 [ default = false ];
}
// FlushEarlyRenderInfo stores information for flushing a request early i.e.
// before receiving a response form the origin server.
// NextId: 5
message FlushEarlyRenderInfo {
// Url of privately cacheable resources.
repeated string private_cacheable_url = 1;
// Charset of the html document.
optional string charset = 2;
// This is a marker in property cache stating if the entry was ever updated.
optional bool updated = 3;
// Url of public cacheable resources.
repeated string public_cacheable_url = 4;
}