Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Andre Myrick - C Web Server #305

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

AM-Myrick
Copy link

No description provided.

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

int response_length = sprintf(response, "%s\n"
        "Date: %s\n"
        "Connection: close\n"
        "Content-Length: %d\n"
        "Content-Type: %s\n"
        "\n"
        "%s\n",
        header, buffer, content_length, content_type, new_body);

Nice work Andre. Sprintf provides a
Return Value
If successful, the total number of characters written is returned excluding the null-character appended at the end of the string, otherwise a negative number is returned in case of failure.
https://www.tutorialspoint.com/c_standard_library/c_function_sprintf.htm

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sprintf(response, "%s\n"
        "Date: %s\n"
        "Connection: close\n"
        "Content-Length: %d\n"
        "Content-Type: %s\n"
        "\n"
        "%s\n",
        header, buffer, content_length, content_type, new_body);

    // Send it all!
    int response_length = strlen(response);

This part of your code is only going to work for the index.html. the cat.png might have an issue with the format specifier %s.

Two ways to approach this problem memcpy or make two send 's after removing the part of your header that includes the body.

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cache functions look pretty good.

Copy link

@codejoncode codejoncode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

void free_entry(struct cache_entry *entry)
{
    ///////////////////
    // IMPLEMENT ME! //
    ///////////////////
    free(entry);
}

Before your use free(entry) you will have to free every other thing you allocated space for

entry->content
entry->path
entry->content_type

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants